模块内部的ruby模块

时间:2012-02-20 12:42:35

标签: ruby module

我有一个ruby模块,其中包含许多其他模块。这是一个简单的例子:

module Foo

  module Bar
  end

  module Baz
  end

end

除了,我在Foo模块里面有6-7个模块。有没有办法可以将Bar / Baz放在单独的文件中,但仍然可以获得相同的行为?现在我的所有代码都在1个文件中,非常无组织。

1 个答案:

答案 0 :(得分:13)

您可以像这样定义它们,每个都在一个单独的文件中:

# foo.rb
module Foo
end

# foo_bar.rb
module Foo::Bar
end

# foo_baz.rb
module Foo::Baz
end

NB。在能够使用此表示法定义Foo等模块之前,您需要定义Foo::Bar模块

或者您可以将它们放入不同命名的文件中,并采用它们当前所处的格式,它应该仍然有用:

# foo_bar.rb
module Foo
  module Bar
  end
end

# foo_baz.rb
module Foo
  module Baz
  end
end