作为一个完全的初学者,我正在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