如果我想上课:
class Foo
#methods here
end
Run Code Online (Sandbox Code Playgroud)
这要求让我们说 FileUtils
我该怎么办
require 'fileutils'
class Foo
#methods here
end
Run Code Online (Sandbox Code Playgroud)
要么
class Foo
require 'fileutils'
#methods here
end
Run Code Online (Sandbox Code Playgroud)
补充fotanus的答案.在一个单独的文件中定义的所有内容掌握在main命名空间,无论你load或者require它.它在范围或命名空间方面没有区别.此外,不能跨文件引用局部变量.
所以你的选择应该取决于可维护性.如果您在文件顶部编写依赖项,则很容易一目了然地了解依赖项.另一方面,如果您在某个模块中需要,它可以清楚地表明该依赖关系仅适用于特定模块.在过去的日子里,我认为前者是首选,但现在人们使用bundler宝石,有一种方法可以一目了然地看到所有的依赖关系,所以前者的动机可能已经下降.
| 归档时间: |
|
| 查看次数: |
549 次 |
| 最近记录: |