Логические операторы (AND, OR, NOT, XOR)
Логические операторы создают свойства, которые рассматривают свои аргументы как логические значения класса BOOLEAN, и возвращаемым значением которых также является значение класса BOOLEAN. Если значение аргумента логического оператора не равно NULL, то аргумент рассматривается как значение TRUE класса BOOLEAN, иначе NULL.
В платформе на данный момент поддерживаются следующие логические операторы:
| Оператор | Название | Описание | Пример | Результат |
|---|---|---|---|---|
AND | Коньюнкция | Принимает два операнда на вход, возвращает TRUE, если оба операнда не NULL | TRUE AND TRUE | TRUE |
OR | Дизьюнкция | Принимает два операнда на вход, возвращает TRUE, если один из операндов не NULL | NULL OR TRUE | TRUE |
NOT | Отрицание | Принимает один операнд на вход, возвращает TRUE, если операнд NULL | NOT TRUE | NULL |
XOR | Исключение | Принимает два операнда на вход, возвращает TRUE, если ровно один из операндов не NULL | TRUE XOR TRUE | NULL |
Язык
Описание синтаксиса логических операторов.
Примеры
likes = DATA BOOLEAN (Person, Person);
likes(Person a, Person b, Person c) = likes(a, b) AND likes(a, c);
outOfInterval1(value, left, right) = value < left OR value > right;
outOfInterval2(value, left, right) = NOT (value >= left AND value <= right);