まつもと ゆきひろ@トヨタケーラムです.

In message "[ruby-list:237] print について"
    on 96/03/04, Shigeru Gougi <gougi / v3test3.nagoya.caelum.co.jp> writes:
|ごうぎ@TCIです。

|で、新しくクラスを、例えば次のように
|
|ruby> class Foo
|ruby>   def initialize()
|ruby>     @a=10
|ruby>   end
|ruby> end
|と定義して、
|
|これを
|b=Foo.new
|print b
|とやって表示することは、これだけでは、当然ですが許してないよ
|うですが、あるバーチャルメソッドを再定義すると可能になるので
|しょうか?

つまり,「print b」で「10」と表示されて欲しいんでしょうか?

それなら,表示のための文字列化はto_sというメソッドで行われて
います.これを再定義するとprintの表示が変わります.

 ruby> class Foo
 ruby|   def initialize()
 ruby|     @a=10
 ruby|   end
 ruby|   def to_s
 ruby|     @a.to_s
 ruby|   end
 ruby| end
 Foo
 ruby> b = Foo.new
 #<Foo: @a=10>
 ruby> print b, "\n"
 10

で,いかがでしょう.
                                まつもと ゆきひろ /:|)