gpt4 book ai didi

ruby - 需要模块内的文件?

转载 作者:数据小太阳 更新时间:2023-10-29 06:49:34 24 4
gpt4 key购买 nike

我在某人的仓库中看到了以下源代码:

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)

Source

我想知道当我们将 require 放在模块中时有什么不同?

最佳答案

require 而言没有区别,即 require 总是将文件加载到全局命名空间中。

应该注意的是,在这种情况下,内部 require始终 运行,因为此时的 Rails 指的是模块它在内部,所以那里的 if 语句的计算结果总是为真。

这意味着代码等同于可能不那么令人困惑的代码:

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)

关于ruby - 需要模块内的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com