craig duncan <duncan / nycap.rr.com> wrote:
>
>Yukihiro Matsumoto wrote:
> >
> > 'to_s' is a mean to convert something into a string (if you really
> > want to), OTOH 'to_str' is a mean for something that wants to pretend
> > to be a string. to_a and to_ary are in similar relationship.
>
>The problem with this explanation is that i have no idea what it means for
>something to "pretend to be a string" as opposed to being one.

Think of it this way.  foo.to_s tells foo to describe itself
as a string.  foo.to_str checks with foo that it is OK to
think of foo as being its description, and gets that
description.

So to_str is the same as to_s except with an extra assertion
about the correct usage of that object.

Cheers,
Ben
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com