From: 7stud -- Date: 2007-10-11T12:25:25+09:00 Subject: Re: what does print call internally? 7stud -- wrote: > > class Dog > def to_s > print "dog" > end > end > > d = Dog.new > > print d > puts > > puts d > > --output:-- > dog# > dog# > I guess that should be: class Dog def to_s "dog" end end d = Dog.new print d puts puts d --output:-- dog dog I don't understand the output of my first example: print returns nil, so print 'dog' should return nil, which means to_s returns nil, and so print d should be equivalent to print nil. -- Posted via http://www.ruby-forum.com/.