如果我有一个返回多个值的函数,我该如何单独访问这些值?像桌子[i]。
angles = function()
x = function()
local value = 0
return value
end
y = function()
local value = 90
return value
end
z = function()
local value = 180
return value
end
return x(), y(), z()
end
如果想要单独使用x
值,同时将其保留在函数angles
中,则会出现问题。
print(????)
在这方面,愿望函数的排序就像表格一样,所以我可以输入类似print(angles.x)
另外,我知道代码看起来真的很多,但它实际上是我实际使用的更简化的版本。对不起,如果这样做的意义不大。
答案 0 :(得分:3)
x, y, z= angles()
print (x,y,z)
答案 1 :(得分:3)
有几种方法可以做到这一点。
最明显的是
local x, y, z = angles()
print(x)
如果你想要第一个值
local x = ( angles() )
-- `local x = angles()` would work too. Lua discards excess return values.
print(x)
或者,可读性稍差
print((angles()))
您也可以从函数返回一个表,或使用标准模块table
将返回值打包成一个。
local vals = table.pack(angles())
print(vals[1])
答案 2 :(得分:0)
另一种(而不是一次全部)单独访问它们的方法是:
print((select(1,angles())))
print((select(2,angles())))
print((select(3,angles())))
输出:
0
90
180
select()
调用需要放在括号中,以便返回单个条目,而不是返回给定偏移量之后的所有 。