Перейти к основному содержимому
Версия: 5.x

Логические операторы (AND, OR, NOT, XOR)

Логические операторы создают свойства, которые рассматривают свои аргументы как логические значения класса BOOLEAN, и возвращаемым значением которых также является значение класса BOOLEAN. Если значение аргумента логического оператора не равно NULL, то аргумент рассматривается как значение TRUE класса BOOLEAN, иначе NULL.

В платформе на данный момент поддерживаются следующие логические операторы:

ОператорНазваниеОписаниеПримерРезультат
ANDКоньюнкцияПринимает два операнда на вход, возвращает TRUE, если оба операнда не NULLTRUE AND TRUETRUE
ORДизьюнкцияПринимает два операнда на вход, возвращает TRUE, если один из операндов не NULLNULL OR TRUETRUE
NOTОтрицаниеПринимает один операнд на вход, возвращает TRUE, если операнд NULLNOT TRUENULL
XORИсключениеПринимает два операнда на вход, возвращает TRUE, если ровно один из операндов не NULLTRUE XOR TRUENULL

Язык

Описание синтаксиса логических операторов.

Примеры

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