模块内的 ruby​​ 模块

标签 ruby module

我有一个包含许多其他模块的 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/

相关文章:

types - 如何为角色组编写模块?

python - 在不使用异常的情况下检查 Python 中的模块

Windows 上的 Python mecab 包导入错误 'not defined'

ruby - 将 ruby​​ 哈希值转换为有效且人类可读的 JSON

ruby - Sinatra 路由 - 单独的文件

ruby - 如何在 CSV 文件中生成列而不是行

java - Android Studio 无法识别导入的项目库模块中所做的更改

ruby - ruby 中的静态/实例变量

ruby - SSL证书每隔一段时间验证失败

module - 在新模块中使用来自另一个模块的结构