Lua中的doFile和require有什么区别?

5

在Lua中,特别是在Torch中,doFile和require有什么区别?何时使用其中之一而不使用另一个?一个可以工作但另一个不能工作的情况是什么?(我正在使用Lua 5.1,torch7)。

1个回答

11

dofile会立即加载并执行一个文件。

require更为复杂;它保留了已经加载的模块及其返回结果的表格,以确保不会重复加载相同的代码。它还保留了一个模块加载器列表,用于处理加载模块,其中一个可以从dll/so文件中加载。

如果只是加载函数,则最好使用require来避免重复定义。


2
Lua 5.1手册中的dofilerequire条目。 - Etan Reisner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接