From: Paul Battley Date: 2006-07-29T07:38:01+09:00 Subject: Re: Puts bypasses access restrictions on to_s? On 28/07/06, Leslie Viljoen wrote: > I read somewhere that "puts" calls "to_s" on an object to get a string > representation and then displays that. This seems to be correct in my > experience. > > My question is: how does puts bypass "private" restrictions to get the > value of to_s? Interesting question. I had a look at the C source, and it uses rb_funcall, which doesn't check private/protected, to call to_s. If you want to do the same thing, you can use this: rs.__send__(:to_s) Paul.