作为一个完整的初学者,我正在Pico-8上尝试一个小代码:
function _update()
if p.x, p.y == 64, 45 then
cls()
print("dead", 37, 70, 14)
end
end
当我尝试运行该程序时,出现一条错误消息:
'then' expected near ','
我进行了很多搜索,但从未找到答案。有人可以帮忙吗?
答案 0 :(得分:2)
您正在尝试使用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
之间的逗号触发。
答案 1 :(得分:0)
通过这种方式为变量分配值是可以的:
a, b
= 1、2
对于if
语句,您需要执行以下操作:
if a == 1 and b == 2 then
-- do something
end