我在某人的存储库中看到了以下源代码:
module Twitter
module Bootstrap
module Rails
require 'twitter/bootstrap/rails/engine' if defined?(Rails)
end
end
end
require 'less-rails'
require 'twitter/bootstrap/rails/bootstrap' if defined?(Rails)
Run Code Online (Sandbox Code Playgroud)
我想知道我们放入require模块时有什么区别?
And*_*all 12
就所require涉及的情况而言,没有区别,即require始终将文件加载到全局命名空间中.
应该注意的是,在这种情况下,内部require将始终运行,因为Rails在那一点引用它所在的模块,因此if那里的语句将始终评估为true.
这意味着代码相当于可能不那么混乱:
module Twitter
module Bootstrap
module Rails
end
end
end
require 'twitter/bootstrap/rails/engine'
require 'less-rails'
require 'twitter/bootstrap/rails/bootstrap' if defined?(Rails)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2334 次 |
| 最近记录: |