在Ruby中,可以require在模块定义之外放置语句吗?请问require"d模块仍然是嵌套在模块中使用内部类?
例如,是这样的:
require 'baz'
module Foo
class Bar
# some code using Baz
end
end
Run Code Online (Sandbox Code Playgroud)
这个一样吗?
module Foo
require 'baz'
class Bar
# some code using Baz
end
end
Run Code Online (Sandbox Code Playgroud)
和这个一样吗?
module Foo
class Bar
require 'baz'
# some code using Baz
end
end
Run Code Online (Sandbox Code Playgroud)
你可以放在require任何地方.正如您在此处的文档中所看到的,所需文件中的常量和全局变量始终添加到全局命名空间中.最佳做法通常是在任何嵌套之外使用require,但是有些宝石利用它可以在任何地方有条件地需要基于ruby逻辑的文件的事实,即
if some_boolean
require 'file'
end
Run Code Online (Sandbox Code Playgroud)