From: matz@... (Yukihiro Matsumoto) Date: 1998-09-01T10:24:58+09:00 Subject: [ruby-list:9381] Re: Delegator まつもと ゆきひろです In message "[ruby-list:9378] Delegator" on 98/09/01, ttate@jaist.ac.jp writes: |立石です。 | |次のようなスクリプトですが、super |の所でfaultしてしまいます。 1. 私のところではSEGVせずに /tmp/test.rb:13:in `say': super: no superclass method `say' (NameError) from /tmp/test.rb:16 となります.SEGVするのはバグだと思うのですが….環境とバー ジョンを教えて下さい.うちはlinuxで1.1c2,1.1c3,1.1d0で発 生しませんでした. 2. SimpleDelegatorは転送先オブジェクトの持っているメソッドを 特異メソッドとして定義します.ので,特異メソッドfoo.sayを 定義するとSimpleDelegatorによる定義を上書きしてしまいます. ですから,superで呼べないでエラーになったのだと思います. foo = DelegateClass(Foo).new def foo.say ... super end とかなら動作するような気がするんですが.あるいはaliasを用 意するとか. class <