>> So they are doing the same thing, but you call to_str
>> when you want to make an implicit assertion that what you
>> have is something you should be doing string operations
>> with, and not just something that (like everything) can
>> be described in text.

I just got back from vacation, and wanted to make 
sure I "got" the conclusion of this thread. To 
put it in my own words:

to_str converts an object into a string 
representation of that object, which is assumed 
to be usable as a value for further processing.

to_s converts an object into a string description 
of that object, such as for printing.

In some cases (String, Numeric) they are the 
same. But for a complex object that contains many 
values there would often be no way for to_str to 
return anything meaningful. to_s, on the other 
hand could do a dump like inspect does, or could 
just return the semantic "name" or "id" of the 
object.

Right?

Kevin