我正在尝试在控制台应用程序中为我的类创建命名空间。
我的结构如下:
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
请告知如何解决此问题。
答案 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]