4

这段代码让我很困惑。

print(gogo)
if (gogo == true) then
    print("yes")
elseif (gogo == false) then
    print("no")
end

为什么gogo评估为true?它不应该产生错误吗?

4

1 回答 1

6

它不会评估为真,也不能,因为 Lua 4.0 中没有布尔类型。

print(true) -- prints "nil"

nil默认情况下,未定义的全局变量是gogo == true. 他们都是nil

于 2013-09-05T10:44:59.887 回答