2012-04-19 69 views
5

是否有一种方法在红宝石加载一个模块包含许多类,并能够访问这些类,而无需使用模块名称前缀?考虑foo.rb和bar.rb:参考ruby类没有模块名称

foo.rb:

require 'bar' 
bar = BarModule::Bar.new() 

bar.rb

module BarModule 
    class Bar 
    end 
end 

基本上我想的能力,从foo.rb,指每次我引用它时,没有指定它的模块的类“Bar”。在Java术语,我正在寻找的东西类似于:像存在

import BarModule.*; 

什么?

回答

5

模块可以混合在一起。要将BarModule用作mixin,您需要include BarModule

+0

值得注意的是,您仍然必须'需要'包含'BarModule'的文件,该文件充当内容的有效复制和粘贴。 – 2013-05-20 14:08:40