Lua 返回多个值作为参数

我有一个返回多个值的函数(我不能更改):

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

和另一个函数(我不能更改),它需要多个参数:

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

有没有办法做到这一点:

f2(f1(), c)

并且让 xaybzc

点赞
用户8373051
用户8373051

你可以使用中间结果

local a, b = f1()
f2(a, b, c)
2017-08-26 10:11:02
用户1521241
用户1521241

你可以使用表作为帮助器:

tbl={f1()}
tbl[3]=c
f2(unpack(tbl))
2017-08-26 10:11:35
用户107090
用户107090

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

2017-08-26 11:29:54