From: matz@... (Yukihiro Matsumoto) Date: 1999-06-10T18:36:10+09:00 Subject: [ruby-list:14981] Re: 初期化メソッドの追加 まつもと ゆきひろです In message "[ruby-list:14980] 初期化メソッドの追加" on 99/06/10, ARIMA Yasuhiro writes: |File.new に対する File.open のように、複数の constructor ? を |記述するにはどう書いたらいいでしょう? |以下のように書いたところ、引数の数が違うといわれてしまいました。 File.newはinitializeによらず内部で処理しちゃってるので、 initializeで挙動をカスタマイズできません。将来的には変更され るかも知れませんが、とりあえず以下のいずれかを選択してくださ いませ。 (1) Fileを継承しない delegate.rbとかが便利 (2) initializeではなくFixedRec.newを再定義する 前述のようにこのようなnewで「インスタンス生成前に」ご そごそしているパターンではinitializeでは引数チェックに 引っかかったりでうまく挙動を再定義できません。ですから、 いっそのことinitializeに頼らず自前で初期化するのもひと つの手です。 結局initializeってのは「紳士協定」なんでルールに従わない奴が いるとうまく行かないんですよね。 まつもと ゆきひろ /:|}