lua - 布尔值可以包含在“if”语句中吗?

我刚开始学习 Lua (现在 4 天),运行此代码时出现错误:input:2: 'then' expected near '='

这是我正在使用的代码:

local imagineVar = true
if imagineVar = true then
    print("LOL")
end

我该如何解决?

回答1

您收到的错误是语法错误,因为赋值 (var = something) 是语句而不是 Lua 中的表达式 - 这意味着它们不会计算为 value,因此不能用于 if-condition(或任何其他需要表达式的地方)。

正如其他人指出的那样,您将使用运算符 == 进行比较。但是,如果您的变量是布尔值,则检查真实性更为惯用: if imagineVar then ... end; if 的主体将仅在 imagineVar 不是 nilfalse 时运行。

回答2

if imagineVar then
    print("LOL") 
end

在 lua 中,除了 falsenil 之外,if 语句中的任何内容都将为真

回答3

比较需要双'='

local imagineVar = true
if imagineVar == true then
  print("LOL") 
end

相似文章