From: IKEGAMI Daisuke Date: 2001-06-16T05:29:58+09:00 Subject: [ruby-list:30265] Why NameError raises when module name equals class name? いけがみです。 module A class A end end include A A.new # => undefined method `new' for A:Module (NameError) ですが、 module A class A end end class B include A attr_reader :a def initialize @a = A.new end end b = B.new # => succeed p b.a # => が通るのは、仕様でしょうか。 なお、 ruby 1.6.4 (2001-06-04) [alphaev56-osf4.0d] です。 僕の期待では、両方とも A.new がうまく動いてほしいのですが… A::A なんてふつうつくらねーよという声が聞こえてきそうだ… モジュール名とクラス名が不一致なら、この現象は(当然)起きないようです。 -- 池上 大介 Daisuke IKEGAMI 奈良先端科学技術大学院大学 情報科学研究科 情報処理学専攻 情報基礎学講座 関研究室