我有一个包含许多其他模块的 ruby 模块。这是一个简单的例子:
module Foo
module Bar
end
module Baz
end
end
除此之外,我在 Foo 模块中有 6-7 个模块。有没有办法可以将 Bar/Baz 放在单独的文件中,但仍然得到相同的行为?现在我所有的代码都在 1 个文件中,非常杂乱无章。
最佳答案
你可以这样定义它们,每个都在一个单独的文件中:
# foo.rb
module Foo
end
# foo_bar.rb
module Foo::Bar
end
# foo_baz.rb
module Foo::Baz
end
注意。您需要先定义 Foo
模块, 才能使用此表示法定义诸如 Foo::Bar
之类的模块。
或者您可以将它们以它们当前所用的格式放在不同名称的文件中,它应该仍然有效:
# foo_bar.rb
module Foo
module Bar
end
end
# foo_baz.rb
module Foo
module Baz
end
end
关于模块内的 ruby 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361296/