MySQL- Руководство разработчика

Логические операторы


Логические операторы в Lua: and or not Подобно структурам управления, все логические операторы рассматривают nil как false (ложь), а все остальное как истину (true).

Оператор конъюнкции and вернет nil, если первый параметр nil, иначе это возвращает второй параметр. Оператор дизъюнкции or вернет первый параметр, если он отличается от nil, в противном случае это возвращает второй параметр. Операторы and и or используют краткое вычисление, то есть второй операнд оценен только в случае необходимости. Имеются две полезных идиомы в Lua, которые используют логические операторы. Первая идиома: x = x or v Которая является эквивалентной: if x == nil then x = v end Эта идиома устанавливает x к значению по умолчанию v, когда x не установлен.

Вторая идиома такая: x = a and b or c Которая должна читаться как x=(a and b) or c. Эта идиома эквивалентна: if a then x = b else x = c end При условии, что b не nil.



Содержание раздела