我试图将一个变量表解压到函数调用中作为参数。简而言之,我想通过这样做来模拟我的过程中的依赖注入。当我在https://www.lua.org/cgi-bin/demo做这件事时,它告诉我解包是零。好像它被移除了?是否有其他方法来实现此操作,而不是传递包含对象实例的表?我喜欢在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))发布于 2017-04-03 19:27:23
在线Lua演示程序运行最新版本的Lua,目前的版本为5.3。
在Lua5.2中,unpack被迁移到table.unpack。
https://stackoverflow.com/questions/43192285
复制相似问题