> It's an implementation detail. > I don't think it should be a part of the spec. Somewhat contrived, but still a surprise to me: class A def to_s; "Hello"; end def to_ary; ["Goodbye"]; end end puts sprintf("%s", A.new) # => Hello puts "%s" % A.new # => Goodbye On Ruby 1.8.6-p111, this prints "Hello" two times instead. Lars