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 には boolean 型がないため、true に評価されません。

print(true) -- prints "nil"

未定義のグローバル変数はnilデフォルトなので、確かにgogo == true. それらは両方nilです。

于 2013-09-05T10:44:59.887 に答える