Lua 5.3打开包装

use*_*521 3 lua

我正在尝试将变量表解包为函数调用作为参数.总之,我正在通过这样做来模仿依赖注入到我的进程中.当我在https://www.lua.org/cgi-bin/demo上执行此操作时,它告诉我unpack是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))
Run Code Online (Sandbox Code Playgroud)

lhf*_*lhf 7

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

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