【发布时间】:2021-08-12 01:52:26
【问题描述】:
local x,y=33,44
我不知道这种格式是指什么,如果有的话,我找不到任何关键字。分配本地 x=33;本地 y=44。有x的赋值不影响y的赋值的噱头,即
x=50
x,y=0,x --x=0,y=50
x=0 --x=0
y=x --y=0
太好了。该符号依赖于逗号来分隔第一个变量赋值的结束位置和第二个变量赋值的开始位置。我的困惑在于包含以下语句的案例:
local a,b=
33 --a=33 b=nil
for i=1,2 do
a+=i --a=34,b=nil --a=3,b=34
a,b=i,a --a=1,b=34 --a=2,b=3
end
上面说得有道理,但是为什么下面添加逗号会产生错误:
local a,b=
33 --a=33 b=nil
for i=1,2 do
a+=i --a=34,b=nil --a=3,b=34
a,b=i,a --a=1,b=34 --a=2,b=3
end,33
从我的角度来看,上面应该只是分配
a= 33 --a=33 b=nil
for i=1,2 do
a+=i --a=34,b=nil --a=3,b=34
a,b=i,a --a=1,b=34 --a=2,b=3
end
b=33
在像循环这样的条件中折腾之后似乎添加了逗号,不允许我将第二个变量分配给除了在第一个变量中定义它之外的任何东西?我不明白这里的逻辑。是否有规则说明这是为什么。我找不到信息。这里缺少关键字。
【问题讨论】: