1 function getCoordinates()
2 return 12, 55, 123
3 end
4 local x, y, z = getCoordinates()
5 print(x, y, z)
output:
12 55 123
第4行做什么?如果我将其替换为
local x= getCoordinates()
local y= getCoordinates()
local z= getCoordinates()
我得到12零12
即使我将打印语句更改为
print(x)
print(y)
print(z)
仍然得到
12 零 12
答案 0 :(得分:3)
函数getCoordinates
返回3个值。您的local x, y, z
声明将这些值解压缩为3个新变量。
当您将getCoordinates()
分配给单个变量时,最后两个值将被静默删除,因此所有3个变量都将获得值12
。 (我不知道如何以nil
获得y
。)