根据文档Kernel#require,该方法返回布尔值。然而,我在一个IRB会话中注意到,对于某些文件,
返回的数组包含在 data_provider.rb 文件中定义的模块的名称:
这是我做错了什么的迹象还是
require
返回一个数组。ruby-1.8.7-p330 :001 > require 'net/http'
=> true
ruby-1.8.7-p330 :002 > require 'date'
=> true
ruby-1.8.7-p330 :003 > require 'lib/data_provider'
=> ["DataProviders"]
返回的数组包含在 data_provider.rb 文件中定义的模块的名称:
module DataProviders
module Cached
class Foo
# ...
end
end
class Foo
# ...
end
end
这是我做错了什么的迹象还是
require
的一些未记录行为?
require 'rubygems'
和require 'active_support'
。看起来Rails的ActiveSupport导致了行为上的差异。在ActiveSupport :: Dependencies :: Loadable中有一个require
方法。 - FilipK