Lua 4.0未声明的变量和条件语句

时间:2013-09-05 09:56:36

标签: lua conditional-statements lua-4.0

这段代码令我困惑。

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

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

1 个答案:

答案 0 :(得分:6)

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

print(true) -- prints "nil"

默认情况下,未定义的全局变量为nil,所以确实gogo == true。它们都是nil