在我的lua脚本中,我需要调用一个函数,该函数带有一个具有一定数量的参数,以及任意数量的参数......
我正在建立我的论据作为一个表,因为我不知道会有多少论点。
示例代码:
local result = call.someFunc();
local arguments = {}
for k,v in pairs(result) do
table.insert(arguments, v.name)
end
-- here I would like to somehow pass the whole table and each item in the table
-- is then passed as a single argument to "someOtherFunc"
call.someOtherFunc(arguments[1], arguments[2], arguments[3] ....)
我很熟悉lua,在PHP e。 G。我会用call_user_func_array - 在lua中有类似的东西吗?
答案 0 :(得分:12)
foo(unpack(arguments))
相当于foo(arguments[1], arguments[2], ...)
。
答案 1 :(得分:3)
The long answer可以在Lua用户的Wiki上找到。
这包括所有内容,包括尾随nil
参数。
答案 2 :(得分:0)
只需将表作为参数传递即可。无需将其拆分为单个参数,只需将函数循环遍历表。