>   IO#newはinitializeを呼びません
なるほど。
 >   IOのサブクラスは組み込みクラスなのでインスタンス変数を持て
 >   ません.
なるほど。
 >   printはスーパークラスでprivateなので,再定義するとprivate
 >   のままになります.メソッド形式で呼び出したい場合には明示的
 >   にpublicにする必要があります
そうでしたね。

 > この場合には
 >       # 知らないメソッドを@outに委譲する
 >       def method_missing(id, *args)
 >         @out.send(id, *args)
 >       end
 > というのが良いのではないかと思います.

ををー。そんな技があるのですか。
たしかに Object class で定義されている…。
なるほどさすが動的な言語。

うなずきシローになってしまった。

高木 浩光@名古屋工業大学
http://www.center.nitech.ac.jp/~takagi/