作为一个完整的初学者,我正在 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.y45
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.xp.y
以这种方式为变量赋值是可以的:
a, b= 1, 2
但是,对于if声明,您需要执行以下操作:
if a == 1 and b == 2 then
-- do something
end