Lua 5.3解包

我试图将变量表解包成函数调用参数。 简而言之,我正在模拟依赖注入进入我的过程中。 当我在https://www.lua.org/cgi-bin/demo上这样做时,它告诉我解包为nil。 它似乎已被删除? 除了传递具有对象实例的表之外,是否有另一种替代方法来执行此操作? 我喜欢在我的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))
点赞
用户107090
用户107090

在线 Lua 演示运行最新版本的 Lua,目前版本是 5.3。

在 Lua 5.2 中,unpack 被移动到 table.unpack

2017-04-03 19:27:23