Логические операции

<< 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

(В данном руководстве --> указывает на результат предшествующего выражения).