2.5.3 – Логические операции
В Lua это операции and (и), or (или), и not (не). Так же, как и в
управляющих конструкциях (§2.4.4), все логические операции
рассматривают false и nil как ложь, а все остальное как истину.
Операция отрицания not всегда возвращает false или true. Операция конъюнкции and возвращает
свой первый параметр, если его значение false или nil; в противном случае and возвращает
второй параметр. Оператор дизъюнкции or возвращает первый параметр, если его
значение отлично от nil и false;
в противном случае or возвращает второй параметр. Оба оператора вычисляют второй
операнд только в случае нееобходимости.
Примеры:
10 or 20 --> 10
10 or error() --> 10
nil or "a" --> "a"
nil and 10 --> nil
false and error() --> false
false and nil --> false
false or nil --> nil
10 and 20 --> 20
(В данном руководстве, --> указывает
на результат предшествовающего выражения.)
|