Рубиновый модуль внутри модуля - PullRequest
3 голосов
/ 20 февраля 2012

У меня есть модуль ruby, который включает в себя множество других модулей.Вот быстрый пример:

module Foo

  module Bar
  end

  module Baz
  end

end

за исключением того, что у меня есть 6-7 модулей внутри модуля Foo.Есть ли способ, которым я могу поместить Bar / Baz в отдельный файл, но при этом получить такое же поведение?Прямо сейчас весь мой код находится внутри 1 файла, очень неорганизованный.

1 Ответ

13 голосов
/ 20 февраля 2012

Вы можете определить их следующим образом, каждый в отдельном файле:

# 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...