From: shugo@... (Shugo Maeda) Date: 1998-03-10T15:59:39+09:00 Subject: [ruby-dev:1647] Re: implementation of super_undef (Re: [BUG] String.dup) 前田です。 In message "[ruby-dev:1641] implementation of super_undef (Re: [BUG] String.dup)" Yukihiro Matsumoto wrote: |そうですね.でも実際は20分程のハックで | | undef == super_undef + remove_method | |は出来ちゃいました.あとはsuper_undefのメソッド化ですが,こ |れもやれば数分でしょう.問題はそのsuper_undefが望ましい性質 |を持っているかどうか,採用すべきかどうかですね. それならnewの再定義の問題はsuper_undefで対応した方が問題は 少ないと思うのですが、super_undefを単独でundefと分離して 一般ユーザに公開する必要はないような気がします。 # super_undefを単独で使うのは今回のような特殊なケースだけ # ですよね? super_undefするタイミングは、 void rb_define_singleton_method(obj, name, func, argc) VALUE obj; char *name; VALUE (*func)(); int argc; { if (strcmp(name, "new") == 0) rb_super_undef_method(rb_singleton_class(obj), name); rb_define_method(rb_singleton_class(obj), name, func, argc); } となるのでしょうか? -- 前田 修吾