什么时候在Ruby中使用“load”而不是“require”?

时间:2010-12-01 05:53:23

标签: ruby require-method

我了解require只加载文件一次,而load每次加载时都加载它。

在大多数情况下,使用require似乎更合适。

我的问题是,何时使用load而不是require

3 个答案:

答案 0 :(得分:2)

加载文件的全名路径,例如:

load "/path/to/file.rb"

同时,require只会加载文件一次,并且不需要您指定.rb扩展名:

require "/path/to/file"
require "/path/to/file.rb"

建议您在实践中使用require以获得更好的性能,但我已经读过Rails在开发模式下使用load,因此您不必在每次更改时都重新启动服务器。

答案 1 :(得分:1)

我认为答案就在你的问题中。你写道:

  

“只需​​要加载文件一次”

那么现在如果更改文件或外部更改文件会发生什么? 使用load,您将获得在加载期间保持的“状态”。 require没有。

答案 2 :(得分:1)

如果你需要强制重新加载(一个常见的例子是web服务器或测试服务器)。如果有合理的机会某些代码不会被命中,或者您想要解决应用程序加载时间问题,则应该使用自动加载。你应该在其他时间使用require。