Выбор (CASE, IF, MULTI, OVERRIDE, EXCLUSIVE)
Оператор выбора создает свойство, которое для набора условий определяет, какое из этих условий выполняется, и возвращает значение соответствующего этому условию результата. Если ни одно из условий не выполняется, то значением создаваемого свойства будет NULL
.
Все условия и результаты задаются как некоторые свойства и/или параметры. Соответственно, условие выполняется, если значение свойства или параметра, с помощью которого задается это условие, не равно NULL
.
Полиморфная форма
Также в платформе существует возможность задавать условие и соответствующий ему результат одним свойством. В этом случае условием может являться либо принадлежность сигнатуре этого свойства, либо само это свойство. Такую форму оператора выбора будем называть полиморфной.
Отметим то, что оператор экстремума и логические операторы также по сути являются разновидностями оператора выбора (причем его полиморфной формой, то есть условия и результат определяются одним свойством)