----- Original Message ----- From: Dave Thomas <Dave / thomases.com> To: ruby-talk ML <ruby-talk / netlab.co.jp> Sent: Wednesday, November 29, 2000 9:41 PM Subject: [ruby-talk:6665] Re: printing/accessing arrays and hashes > raja / cs.indiana.edu (Raja S.) writes: > > > Interesting that Ruby does a #to_s on the elements of the array > > first. > > Actually, what happens is that when you concatenate something to an > existing string, if that something isn't already a string, its to_str > method is called. > > "a" + 1 > -:1:in `+': failed to convert Fixnum into String (TypeError) > from -:1 > > class Fixnum > def to_str > "Number: " + to_s > end > end > > "a" + 1 #=> "aNumber: 1" > That's interesting, Dave. Is the behavior of << the same? Because I have found that the docs say "anObject" but it only seems to work with another string. Why, incidentally, is to_str called instead of to_s? I have never understood that yet. Same for to_a and to_ary. Hal