2009-09-10 22 views
1

如果我有a.rb:呼叫 「需要 '架'」 在嵌套文件多次包括

require 'rack' 
require 'b' 

和我b.rb是:

//do something with rack 

是否b.rb需要也可以這樣說:

require 'rack' 

如果b.rb只會被a.rb'require'd?

我看到很多代碼,其中a.rb需要「機架」幷包含b.rb,它也需要「機架」。

回答

1

如果您可以保證機架將在b需要之前一直需要,那麼在b.rb內部不需要require 'rack'。但是,如果您重新組織代碼以按不同的順序要求事物,則這可能會導致問題。

0

嘗試:

require 'rack' if defined?(Rack).nil? 

這只是測試,看看是否常數架,這是一個模塊,定義和要求,如果常數是零。