模块内部的ruby模块

模块内部的ruby模块,ruby,module,Ruby,Module,我有一个ruby模块,其中包括许多其他模块。下面是一个简单的例子: module Foo module Bar end module Baz end end 除了,我在Foo模块中有6-7个模块。有没有一种方法可以将Bar/Baz放在单独的文件中,但仍然得到相同的行为?现在我所有的代码都在一个文件中,非常无序 您可以这样定义它们,每个都在一个单独的文件中: # foo.rb module Foo end # foo_bar.rb module Foo::Bar end

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

module Foo

  module Bar
  end

  module Baz
  end

end

除了,我在Foo模块中有6-7个模块。有没有一种方法可以将Bar/Baz放在单独的文件中,但仍然得到相同的行为?现在我所有的代码都在一个文件中,非常无序

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

# 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

@实践注意,如果您已经使用
模块Foo
定义了
Foo
,则只能使用
模块Foo::Bar
,否则会出现错误。