在Lua中只提交一次文件

jam*_*o00 3 lua luajit

我想知道是否有办法只执行一次lua文件并且有任何后续尝试执行该lua文件将导致无操作.

我已经考虑过做类似于C++ header的#if/else/endif技巧的事情.我想知道是否有一种标准的方法来实现它.

詹姆士

Joc*_*zel 11

好吧,require差不多就是这样.

require "file" -- runs "file.lua"
require "file" -- does not run the "file" again
Run Code Online (Sandbox Code Playgroud)

  • 如果`require`运行的文件没有创建模块表或返回某些内容,````在`package.loaded`中存储`true`.否则,它存储执行文件返回的值.`module`函数与此井进行交互.这一切都在PiL中解释,但在线拷贝不如这些细节上的印刷版本好. (2认同)