<< Click to Display Table of Contents >> Navigation: Multi-Protocol MasterOPC Server > Руководство по языку Lua 5.1 > Язык и синтаксис > Выражения > Логические операции |
В Lua это операции and (И), or (ИЛИ), и not (НЕ). Так же, как и в управляющих конструкциях ( Управляющие конструкции ), все логические операции рассматривают 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
(В данном руководстве --> указывает на результат предшествующего выражения).