From: Hidetoshi NAGAI Date: 2003-07-09T18:10:51+09:00 Subject: [ruby-dev:20577] module_eval の仕様 永井@知能.九工大です. Ruby/Tk でスレーブインタープリタをうまく使う方法の検討の際に 引っ掛かったのですが,以下のテストスクリプトの最終行の結果が 1.6.7 と 1.8.0 とで違っているのは仕様変更でしょうか? 利用したのは ruby 1.6.7 (2002-03-19) [i386-linux] と ruby 1.8.0 (2003-07-09) [i686-linux] です. ----------------------------- class AAA def self.foo p 'AAA' end end module MMM class AAA def self.foo p 'MMM' end end end AAA.foo #==> "AAA" MMM::AAA.foo #==> "MMM" MMM.module_eval('AAA.foo') #==> "MMM" MMM.module_eval{AAA.foo} #==> "AAA" on 1.8.0; "MMM" on 1.6.7 ----------------------------- -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp