Ruby类模块未初始化常量

时间:2013-05-08 03:11:01

标签: ruby

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

我的结构如下:

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

请告知如何解决此问题。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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