From: matz@... (Yukihiro Matsumoto) Date: 1996-12-20T02:28:53+09:00 Subject: [ruby-list:1403] Re: new ¤Î override まつもと ゆきひろです. In message "[ruby-list:1393] new の override" on 96/12/19, (Dezawa Shin-ichiro) writes: | |出沢です | |あるクラスの new を定義するにはどうするのでしょう? newはクラスのメソッドで,そのselfは生成されたインスタンスで はなく,クラスです.では生成したクラスの初期化はどうするかと いうと,実はデフォルトのnewは生成したオブジェクトに対してメ ソッドinitializeを実行します. ですから,初期化する場合はnewを再定義する必要はなくて, initializeだけ定義すれば勝手に呼び出されて初期化されます. newに与えた引数もそのまま渡されますし,newがイテレータとして 呼び出された場合,initializeもイテレータとして呼び出されます. def initialize(name,file,lineNr) @name=name; @filename=file; @lineNr = lineNr end と定義すれば, new("name", "/dev/null", 25) で初期化されたインスタンスが入手できます. まつもと ゆきひろ /:|)