gpt4 book ai didi

function - lua中的全局函数

转载 作者:行者123 更新时间:2023-12-04 00:09:13 26 4
gpt4 key购买 nike

有没有办法在 Lua 中拥有一个可以从项目中的任何模块访问的函数,而无需首先要求它?

就像是:

module(..., package.seeall);
function globFoo()
print('global foo called');
end

并从其他地方调用它,比如 main
--main

globFoo();

不需要它?

最佳答案

一个模块只是一个 Lua 脚本。你可以在那里做任何你想做的事;您甚至不必调用 module在您的模块脚本中。确实,modulegenerally considered harmful these days ,这就是它在 Lua 5.2 中被弃用的原因。

实际上,只需移动代码即可:

function globFoo()
print('global foo called');
end
module(..., package.seeall); --Module created after global function

所以是的,你可以让一个模块修改全局表。我非常建议您不要这样做(因为它会在 Lua 脚本之间创建隐式排序,这使得很难知道哪个脚本使用了哪些东西)。但你可以做到。

关于function - lua中的全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com