けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :05648 ] the message: "[ruby-list:5648] Re: undef method ", on Dec/12 11:55(JST) matz / netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです >|undefしたメソッドをもう一度生かすにはどうしたら良いのでしょうか? > >undefは「まったくなかったことにする」操作ですからねえ. > >これは > > * aliasで別の名前で保存しておき > * undef > * 終ったら再びaliasで戻す > >というやり方でできるかもしれません.実装上何回も繰り返すこと >はお勧めしませんが. うーん. この方法はエレガントではないですよねえ... ところで何度も何で繰り返しちゃ駄目なんだろう? >別の方法としては > > * 1.1b1からあるModule#remove_methodを使う > >というものがあります.この場合 > > # 一時的に別の定義を得意メソッドに定義する > eval 'class << f > def foo; print "foo\n"; end > end' > > # 元の定義に戻したい... > eval 'class << f > remove_method :foo > end' > >という感じですかね. おお. それがやりたいことでした... ># 1.1b1ではキャッシュの不整合が起きるかも ん? それは困るなあ... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / rational.com <<---