如果在赋值语句后面加了逗号,为什么这个lua变量是空

代码:

local i1 = 1
print(i1)

local i2 = 1,0
print(i2)

local i3 = 1,
print(i3)

结果:

1
1
nil

为什么i3是nil 而不是1呢。

阅读 3.1k
1 个回答

除了少数例外,Lua忽略了空格和换行符。 则原来的代码可表示为
local i3 = 1, print(i3)
赋值语句首先计算其所有表达式,然后才执行赋值。所以打印在赋值之前, 但是最终i3被赋值为1。
local i3 = 1,
print(i3) --nil
print(i3) --1

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进