如果我只想要函数 f() 的第一个和第三个值,我可以执行以下操作:
local a, _, b = f();
由于 _
是一个有效的名称,也许 _
被分配了一个大表。
在上述情况下,有没有办法将这个赋值给 _
? (很明显:如果 _
超出范围,它就会被 gc'ed)。
最佳答案
不确定是否有帮助,但也许您可以定义一个辅助函数,例如
function firstAndThird(a, b, c)
return a, c
end
然后像这样使用它
local a, b = firstAndThird(f());
关于LUA:如何在多重赋值中省略一个多值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69750481/