ブール値とNil

変数には、ブール値のtrueまたはfalseを割り当てることができます。notand、およびorを使用してブール値にブール演算を実行できます。

値を割り当てていない変数の値はnilになります。Luaでは、定義も初期化もしていない変数を使用しようとすると、次のようにnil値に関するエラーが報告されることがあります。

bool_variable = true and false or true and not false
print(uninitialised_variable == nil) -- prints true, all vars start as nil
print(nil == 0 or nil == "") -- prints false, nil is not the same as 0 or an empty string