Lua return 多个值作为参数

Lua return multiple values as arguments

我有一个函数(我无法更改)返回多个值:

function f1()
    ...
    return a, b
end

和另一个接受多个参数的函数(我无法更改):

function f2(x, y, z)
    ...
end

有办法吗:

f2(f1(), c)

并且 xaybzc ?

您可以使用中间结果

local a, b = f1()
f2(a, b, c)

您可以使用 table 作为助手:

tbl={f1()}
tbl[3]=c
f2(unpack(tbl))

您不能在一行中完成,因为 f2(f1(),c)f1 返回的结果调整为单个值。