Lua返回多个值作为参数

6

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

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

还有一个函数(我无法更改)接受多个参数:

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

有没有一种方法可以做到以下内容:
f2(f1(), c)

并且让x成为ay成为b,以及z成为c


很遗憾,它不起作用(我正在使用love2D)。 - Antoine Richermoz
3个回答

2

你不能用一行代码完成它,因为f2(f1(),c)会将f1返回的结果调整为单个值。


2
您可以使用中间结果。
local a, b = f1()
f2(a, b, c)

1
您可以使用表格作为辅助工具:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接