我应该使用“require”方法编写哪个上下文

时间:2017-03-13 12:48:22

标签: ruby

以下程序具有相同的行为。 require实际上做了什么? 在这两种情况下,我都可以使用my_extension.rb中定义的方法。但是,红宝石哪个更好?

case1:在课堂上使用requre

class Foo
  require "my_extension"
end

case2:在顶层使用require

require "my_extension"

class Foo
end

1 个答案:

答案 0 :(得分:1)

案例2更好,纯粹是因为它是正确的礼仪,并且更容易让其他程序找到代码的依赖项。

从技术上讲,无论你在何处调用它,require都会做同样的事情:它只是运行文件中的代码。展示位置之间的唯一区别是实际调用require时(如果有的话)。例如:

def my_method
  require "my_extension"
end

在这种情况下,在调用my_extension.rb之前,不会加载my_method