如何解决创建带有操作数的数组会导致成员为零
我刚开始学习lua,遇到了一个奇怪的问题。下面的代码...
local xx = 100
vertices0 = {xx,xx}
vertices1 = {xx−5,xx-5}
结果...
一个包含 (100,100) 的数组,用于顶点 0(如预期)但是 在包含 (nil,95) for vertices1 的数组中。
我真的不明白是什么导致 nil 出现。我希望得到一个 (95,95) 的数组。
我查看了文档并尝试用谷歌搜索问题。但是没能解决这个问题。
顺便说一句 - 我正在使用 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。此外,如果您在运算符及其操作数周围放置一个空格,则可以更容易地看到这样的问题,这对于可读性来说确实是一个不错的样式选择。
vertices1 = {xx − 5,xx - 5}
另外,如果你有语法高亮,你会注意到不正确的字符没有被正确高亮。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。