gpt4 book ai didi

ruby - 将 Ruby `require` 放在模块定义之外?

转载 作者:数据小太阳 更新时间:2023-10-29 07:25:48 26 4
gpt4 key购买 nike

在 Ruby 中,可以将 require 语句放在模块定义之外吗? require 的模块在嵌套在模块中的类中是否仍然可用?

例如,是这样的:

require 'baz'
module Foo
class Bar
# some code using Baz
end
end

和这个一样吗?

module Foo
require 'baz'
class Bar
# some code using Baz
end
end

和这个一样吗?

module Foo
class Bar
require 'baz'
# some code using Baz
end
end

最佳答案

你可以把 require 放在任何地方。正如您在文档中看到的那样 here ,所需文件中的常量和全局变量总是添加到全局命名空间中。最佳实践通常是在任何嵌套之外使用 require,但是一些 gem 利用它在任何地方都可用的事实来基于 ruby​​ 逻辑有条件地 require 文件,即

if some_boolean
require 'file'
end

关于ruby - 将 Ruby `require` 放在模块定义之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21291793/

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