作为一个完整的初学者,我正在 Pico-8 上试验一个小代码:
function _update()
if p.x, p.y == 64, 45 then
cls()
print("dead", 37, 70, 14)
end
end
当我尝试运行程序时,会出现一条错误消息:
'then' expected near ','
我搜索了很多,但从未找到答案。有人可以帮忙吗?
您正在尝试使用if
格式化:
if p.x, p.y == 64, 45 then
[...]
end
您可以使用类似于您在此处使用的语法为多个变量赋值。例如,
p.x, p.y = 64,45
将设置p.x
为64
和。但是您不能以这种方式检查多个变量的相等性。您需要分别检查每个变量:p.y
45
if p.x == 64 and p.y == 45 then
[...]
end
您的代码尝试p.x, p.y == 64, 45
用作if
分支的条件。这不起作用,因为 lua 不理解这意味着p.x == 64 and p.y == 45
. 相反,它将它理解为不相关语句(p.x
、、p.y == 64
和)的列表,并在和45
之间的逗号上绊倒。p.x
p.y
以这种方式为变量赋值是可以的:
a, b
= 1, 2
但是,对于if
声明,您需要执行以下操作:
if a == 1 and b == 2 then
-- do something
end