0
我有一個Ruby類Bar
在文件models/bar.rb
:將包含的類附加到名稱空間?
class Bar
end
在我的主程序文件一個Ruby模塊Foo
:
module Foo
end
我想需要/負載/自動加載Bar
這樣它的名稱空間爲Foo
,即:
module Foo
autoload :Bar, 'models/bar.rb'
end
fb = Foo::Bar.new # yay!
但是,require/load/autoload找到的實體被附加到全局名稱空間。爲了這個工作,我必須編輯models/bar.rb
幷包裝類module Foo
.. end
。有沒有辦法做到這一點,而不必這樣做?
不知道我錯過了一個多小時的瘋狂谷歌搜索。謝謝@brito! – mwp
請注意,banister對brito鏈接的接受答案只能使其他模塊可以訪問模塊,並且它們實際上不包含在名稱空間中。它與具有默認值的散列可以爲不存在該鍵值的不存在的鍵提供值的情況類似。 – sawa