From: Dan Doel Date: 2004-04-05T09:57:13+09:00 Subject: Re: Difference between to_s and to_str I think the problem with #join is that people disagree on whether it should be a string representation or version. Is #join a method that takes an array of objects that can be represented as strings, or does it take an array of (implicit) strings (as you said that #to_str is for implicit argument passing situations). I agree with you. 1) It's more widely useful to use #to_s. Otherwise we can't even do simple things like join arrays of integers by default. 2) I don't think you'll catch any meaningful bugs with a failure on #to_str. At most, it will alert you that you need to define #to_str. :) However, not everybody may agree with such points. - Dan P.S. For what it's worth, I also agree with your statement earlier that #to_s shouldn't really be used for debugging, and that #inspect and #p are the appropriate methods to use in that situation.