我正在尝试将变量表解包为函数调用作为参数。总之,我正在通过这样做来模仿依赖注入到我的进程中。当我在https://www.lua.org/cgi-bin/demo执行此操作时,它告诉我unpack是零。它似乎被删除了?是否有另一种方法来执行此操作而不是传递包含对象实例的表?我喜欢在PostStart()调用中指定每个对象的想法。
Object1 = {}
function Object1:Create()
local obj = {}
obj.name = "Object1"
return obj
end
Object2 = {}
function Object2:Create()
local obj = {}
obj.name = "Object2"
return obj
end
function PostStart(obj1, obj2)
print(obj1.name, obj2.name)
end
objs = {}
table.insert(objs, Object1:Create())
table.insert(objs, Object2:Create())
PostStart(unpack(objs))
答案 0 :(得分:5)
在线Lua演示版运行最新版本的Lua,目前版本为5.3。
在Lua 5.2中,unpack
已移至table.unpack
。