任何人都可以解释我们将如何在Lua中获得以下代码的输出?

时间:2018-02-19 11:42:14

标签: lua lua-table

function ReturnTwoVal()
return "1","2"
end
function ReturnThreeVals()
return "x","y","Z"
end
TblA = {ReturnThreeVals(),ReturnTwoVal() }
print(TblA[2],TblA[1], TblA[2], TblA[3], TblA[4])

输出为:1 x 1 2 nil

1 个答案:

答案 0 :(得分:1)

返回多个值的表达式将调整为单个值,除非它们是函数调用或表构造函数中的最后一个表达式。

因此,

TblA = {ReturnThreeVals(),ReturnTwoVal() }

相当于

TblA = {"x", "1","2"}