2
我有一個紅寶石模塊,其中包含許多其他模塊。這裏有一個簡單的例子:模塊內的紅寶石模塊
module Foo
module Bar
end
module Baz
end
end
除了,我喜歡6-7模塊裏面的Foo模塊。有沒有一種方法可以將Bar/Baz放在單獨的文件中,但仍然可以獲得相同的行爲?現在我的所有代碼都在1個文件中,非常無組織。
我有一個紅寶石模塊,其中包含許多其他模塊。這裏有一個簡單的例子:模塊內的紅寶石模塊
module Foo
module Bar
end
module Baz
end
end
除了,我喜歡6-7模塊裏面的Foo模塊。有沒有一種方法可以將Bar/Baz放在單獨的文件中,但仍然可以獲得相同的行爲?現在我的所有代碼都在1個文件中,非常無組織。
可以定義他們這樣,在每一個單獨的文件:
# 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
啊,真棒!謝謝。 – 0xSina 2012-02-20 12:46:57
沒問題!樂意效勞。 – Russell 2012-02-20 12:48:15
@Pragma一次注意,如果你已經使用'module Foo'定義了'Foo',那麼你只能使用'module Foo :: Bar',否則你會得到一個錯誤。 – matt 2012-02-20 13:14:34