创建一个带有操作数的数组导致 nil 成员

Creating an array with operands results in nil members

刚开始学习lua和运行遇到了一个奇怪的问题。以下代码...

local xx = 100
vertices0 = {xx, xx}
vertices1 = {xx−5, xx-5}

结果...

包含顶点 0 的 (100,100) 的数组(正如预期的那样)但是 在包含 (nil, 95)for vertices1.

的数组中

我真的不明白是什么导致了 nil 的出现。我希望得到一个包含 (95,95) 的数组。

我检查了文档并尝试 google 解决问题。但是没能解决这个问题。

顺便说一句 - 我正在使用 love2d,但“常规”lua 似乎会导致相同的行为。

xx−5 没有使用 -,lua 将 视为标识符的一部分,因此 xx−5 是一个单独的标识符标识符而不是所需的减法运算 xx - 5

local xx = 100
local xx−5 = 100
vertices0 = {xx, xx}
vertices1 = {xx−5, xx-5}
  
print(vertices1[1])

这似乎适用于 5.1,但不适用于更高版本的 lua。此外,如果您将 space 放在运算符及其操作数周围,这样的问题会更容易理解,这确实是提高可读性的良好样式选择。

vertices1 = {xx − 5, xx - 5}

此外,如果您有语法高亮显示,您会注意到不正确的字符没有正确高亮显示。