論理演算子

Lua の論理演算子は、andor、および not です。制御構造 (『制御構造』を参照) と同様に、すべての論理演算子は falsenull の両方を false と見なし、それ以外はすべて true と見なします。

否定演算子 not は常に false または true を返します。論理積演算子 and は、最初の引数の値が false または null であれば最初の引数を返し、そうでない場合、and は 2 番目の引数を返します。論理和演算子 or は、最初の引数の値が null でも false でもない場合は最初の引数を返し、そうでない場合、or は 2 番目の引数を返します。andor は両方ともショートカット評価を使用します。つまり、第 2 オペランドはそれが必要なときだけ評価されます。以下にいくつかの例を示します。

     10 or 20            --> 10
     10 or error()       --> 10
     null or "a"         --> "a"
     null and 10         --> null
     false and error()   --> false
     false and           --> false
     false or null       --> null
     10 and 20           --> 20

(このガイドでは、--> で式の結果を示します。)