在嵌套文件中多次调用“require'rack'”包括

时间:2009-09-10 20:34:41

标签: ruby

如果我有a.rb:

require 'rack'
require 'b'

和我的b.rb是:

//do something with rack

b.rb是否还需要说:

require 'rack'

如果b.rb只会被a.rb要求?

我看到很多代码,其中a.rb需要'rack'并包含b.rb,这也需要'rack'。

2 个答案:

答案 0 :(得分:1)

如果您可以保证在需要b之前始终需要机架,则无需在b.rb内require 'rack'。如果您重新组织代码以不同的顺序要求事物,这可能会导致问题。

答案 1 :(得分:0)

尝试:

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

这只是测试是否定义了作为模块的Rack的常量,如果常量为零则需要它。