Lua中doFile和require之间有什么区别

lar*_*ars 2 lua torch

在Lua中,doFile和require之间有什么区别,特别是在Torch中?你什么时候打电话给另一个而不打另一个?什么时候会工作但另一个不会?(我正在使用Lua 5.1,火炬7).

Col*_*Two 6

dofile 然后加载并执行文件.

require更复杂; 它保留了一个已经加载的模块表及其返回结果,以确保相同的代码不会被加载两次.它还保留了一个模块加载器列表,用于处理加载模块,其中一个模块可以从dll/ sofiles 加载.

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

  • [dofile](http://www.lua.org/manual/5.1/manual.html#pdf-dofile) 和 [require](http://www.lua.org/manual/5.1/) 的 Lua 5.1 手册条目手册.html#pdf-需要)。 (2认同)