1

我正在尝试在控制台应用程序中为我的类创建命名空间。

我的结构如下所示:

lib/somemodule/class1.rb lib/somemodule/class2.rb

例如,现在我将拥有以下内容:

 module SomeModule
      class Class1
          def self.method1
             SomeModule::Class2.new()
          end
      end
 end

 module SomeModule
      class Class2

      end
 end

这将导致如下错误:未初始化的常量 SomeModule::Class2

请就如何解决此问题提出建议。

4

2 回答 2

0

我没有收到任何错误?ruby 1.9.3p392(2013-02-22 修订版 39386)[x86_64-darwin11.4.2]

于 2013-05-08T03:59:24.023 回答
0

我认为以下应该可行:只需将 :: 添加到模块的名称中:

 module SomeModule
      class Class1
          def self.method1
             ::SomeModule::Class2.new()
          end
      end
 end
于 2013-05-08T03:15:08.517 回答