我在一个文件中有一些 lua 代码。我想创建此代码的多个闭包实例,每个实例都有不同的 _ENV 上值。我可以使用luaL_loadfile加载文件并设置第一个上值,使用不同的表 N 次,以创建 N 个实例。但这不会加载并编译文件 N 次吗?
我想要做的lua等价物如下,除了没有加载文件
func_list = {}
for i = 1, 10 do
local new_env = {hello=i, print=print}
func_list[i] = loadfile("Code.lua", "t", new_env)
end
for i = 1, 10 do
func_list[i]()
end
------ Code.lua ------
print(hello*hello)
有一个更好的方法吗?