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

这段代码让我感到困惑。

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

为什么 gogo 被评估为 true?难道不应该出错吗?

点赞
用户2733013
用户2733013

它不会计算为真,因为 Lua 4.0 中没有布尔类型。

print(true) -- 输出 "nil"

未定义的全局变量默认为 nil,因此确实 gogo == true。它们都是 nil

2013-09-05 10:44:59