2011-03-08 113 views
2

导入代码,我在我的/ lib文件夹类似:帮助理解“需要”,希望从LIB

/lib/some_folder/some_file.rb 
/lib/some_folder2/some_file2.rb 

现在在我的轨道3的应用程序,我将引用来自SOME_FILE方法和some_file2

如何根据模块:: class_name.method完全限定它们,而无需引用它们?

回答

1

我想你可以使用Include语句作为显示在下面的例子:

module_test.rb:

module ModuleTest 
    class Class1 
    def do_something 
     puts "Class 1 do something" 
    end 
    end 
end 

module_test2.rb:

module ModuleTest2 
    class Class2 
    def do_something 
     puts "Class 2 do something" 
    end 
    end 
end 

合格模块:

require_relative 'module_test' 
require_relative 'module_test2' 

ModuleTest::Class1.new.do_something 
ModuleTest2::Class2.new.do_something 

输出:

'Class 1 do something' 
'Class 2 do something' 

使用包括statment:

require_relative 'module_test' 
require_relative 'module_test2' 
include ModuleTest 
include ModuleTest2 

Class1.new.do_something 
Class2.new.do_something 

输出:

'Class 1 do something' 
'Class 2 do something'