'then'期望接近','但我已经和Lua一起放置了



作为一个完全的初学者,我正在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设置为64p.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.xp.y == 6445),并在p.xp.y之间绊倒逗号。

以这种方式为变量赋值是可以的:

a, b= 1, 2

但是,对于if语句,您需要执行以下操作:

if a == 1 and b == 2 then
-- do something
end

最新更新