我刚开始学习 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
不是 nil
或 false
时运行。
回答2
if imagineVar then
print("LOL")
end
在 lua 中,除了 false
和 nil
之外,if 语句中的任何内容都将为真
回答3
比较需要双'='
local imagineVar = true
if imagineVar == true then
print("LOL")
end