Zac*_*lms 2 lua global function
有没有办法在Lua中创建一个可以从项目中的任何模块访问而无需首先需要它的函数?
就像是:
module(..., package.seeall);
function globFoo()
print('global foo called');
end
Run Code Online (Sandbox Code Playgroud)
从主要的其他地方调用它
--main
globFoo();
Run Code Online (Sandbox Code Playgroud)
不需要它?
模块只是一个Lua脚本.你可以做任何你想做的事; 你甚至不必调用module你的模块脚本.事实上,module被普遍认为是有害的,这些天,这就是为什么它在Lua 5.2中弃用.
真的,这只是简单地移动你的代码:
function globFoo()
print('global foo called');
end
module(..., package.seeall); --Module created after global function
Run Code Online (Sandbox Code Playgroud)
所以是的,您可以让模块修改全局表.我非常建议你不要(因为它在Lua脚本之间创建了隐式排序,这使得很难知道哪个脚本使用哪些东西).但你可以做到.