6

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

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

另一个函数(我无法更改)采用多个参数:

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

有没有办法:

f2(f1(), c)

并且xaybzc吗?

4

3 回答 3

2

您可以使用中间结果

local a, b = f1()
f2(a, b, c)
于 2017-08-26T10:11:02.480 回答
2

您不能在一行中执行此操作,因为f2(f1(),c)将返回的结果调整f1为单个值。

于 2017-08-26T11:29:54.920 回答
1

您可以使用表格作为助手:

tbl={f1()}
tbl[3]=c
f2(unpack(tbl))
于 2017-08-26T10:11:35.337 回答