我有一个ruby模块,其中包含许多其他模块。这是一个简单的例子:
module Foo
module Bar
end
module Baz
end
end
除了,我在Foo模块里面有6-7个模块。有没有办法可以将Bar / Baz放在单独的文件中,但仍然可以获得相同的行为?现在我的所有代码都在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