Lua 5.3打开包装

时间:2017-04-03 18:58:46

标签: lua

我正在尝试将变量表解包为函数调用作为参数。总之,我正在通过这样做来模仿依赖注入到我的进程中。当我在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))

1 个答案:

答案 0 :(得分:5)

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

在Lua 5.2中,unpack已移至table.unpack