Lua 中的 doFile 和 require 有什么区别

What are the differences between doFile and require in Lua

doFile 和 require 在 Lua 中有什么区别,尤其是在 Torch 中?你什么时候打电话给一个而不是另一个?什么时候一个可以工作而另一个不工作? (我正在使用 Lua 5.1,torch7)。

dofile 立即加载并执行文件。

require比较复杂;它保留 table 已经加载的模块及其 return 结果,以确保相同的代码不会被加载两次。它还保留了一个模块加载器列表,用于处理加载模块,其中一个可以从 dll/so 文件加载。

您可能想要 require,就像您只是加载函数一样,您不想复制它们。