From: Stefano Crocco Date: 2008-11-18T16:42:00+09:00 Subject: Re: let my custom defined class convert to string? Alle Tuesday 18 November 2008, Jonathan Rochkind ha scritto: > Is there any way I can make it so my custom-defined class can be > automatically converted to a string? > > I have a #to_s method in it. > > So it works when I do something like "#{var_of_my_class} foo". It calls > #to_s there. > > But if I try instead "some string" + var_of_my_class, then ruby > complains that it can't convert MyClass to a string. > > Is there anything I can do so my class will always be converted properly > to a String by ruby, in all cases, so client code can really use it just > like a string? > > Jonathan Defining a to_str method makes String#+ work, but I'm not sure it'll work everywhere. According to some documentation I found on google, defining that method should make the class usable in place of a string. Note, however, that you still have to define a to_s method if you want to change the output of puts. I hope this helps Stefano