ごうぎ@TCIです。

>>>>> "Y" == Yukihiro Matsumoto <matz / caelum.co.jp> writes:
In message "[ruby-list:238] Re: print について"
    on 96/03/04, Yukihiro Matsumoto <matz / caelum.co.jp> writes:
    Y> まつもと ゆきひろ@トヨタケーラムです.
    Y> In message "[ruby-list:237] print について"
    Y>     on 96/03/04, Shigeru Gougi
                  <gougi / v3test3.nagoya.caelum.co.jp> writes: 
.....
    Y> |とやって表示することは、これだけでは、当然ですが許してないよ
    Y> |うですが、あるバーチャルメソッドを再定義すると可能になるので
    Y> |しょうか?
    Y> つまり,「print b」で「10」と表示されて欲しいんでしょうか?
そうです。

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

というのも、Javaではこれはだめな様です。
プリントされる側ではどうしようもなくて、プリントを行うクラス
を継承してその中で実装する様になっていました。
    synchronized public void println(long l) 
    synchronized public void println(float f) 
    synchronized public void println(double d) 
    synchronized public void println(boolean b) 
という感じの定義があります。これでは面倒ですね。
せっかくinterfaceという宣言が出来るのにと思ってしまいました。
Javaの方は、僕の好みではないのです。

Rubyは好みです。:-)

--
gougi / caelum.co.jp (Shigeru Gougi)