From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-08-26T22:28:04+09:00 Subject: [ruby-dev:271] Re: undef class [Re: require exit[Re: SyslogSendmail class]] けいじゅ@日本ラショナルです. In [ruby-dev :00266 ] the message: "[ruby-dev:266] Re: undef class [Re: require exit[Re: SyslogSendmail class]] ", on Aug/26 18:17(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです >|その名前のメソッドがない時には何もしないってことですね... まあ, 正常に >|undefされたともいえますしエラーは出さなくてもいいのかなあ... > >やっぱりエラーは出すようにしました.この調子だとすぐにa3が出 >そうですね. ですねえ... それにだいぶパッチ出ましたよねえ... >|定数をundefする, APIってのはまずいんですかねえ?? > >うーん,すでに石塚さんも指摘している通り,定数が定数でなくな >るという最大の問題がありますね.しかし,定数のundefの意味が >十分に定義できるなら不可能ではないかも知れません. 定数に限らず, インスタンス変数のundefはスキーマ進化の問題なんでしょう ね. これができなければ, 完全には動的なクラス変換はできないですからね. >ただし,現在の実装ではあるクラスで定義されている定数がそのサ >ブクラスで未定義にすることは無理ですから,それを求めるのでし >たら,かなり大規模な変更になります. これって, class Foo Const = ... end class Bar < Foo end Bar.undef :Foo みたいなことをいっているんですかね? でも, 次の文章がそれをいっているよ うな気もするし... >定義しているクラス(あるいはモジュール)にまで遡ってundefする >というの方が実現は簡単ですが,こんなのがあって嬉しいかどうか >は十分検討する必要があると思います. でも, スキーマ進化について考えるのは, 今のrubyにはまだ早いかな... __ ..........................................石塚 圭樹@日本ラショナル... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---