Экстремумы (MAX, MIN)
Оператор экстремума создает свойство, которое вычисляет максимум или минимум среди нескольких заданных свойств. Должно быть задано хотя бы одно свойство. При этом, если значение какого-либо из этих свойств равно NULL, это свойство игнорируется. Если значения всех свойств равны NULL, значение результата также равно NULL.
Операнды должны принадлежать совместимым классам — встроенным классам одного семейства или пользовательским классам, связанным наследованием.
Определение класса результата
Класс результата — общий предок классов операндов: встроенный или пользовательский.
Язык
Свойство, определяющее максимум, создается при помощи оператора MAX, минимум - при помощи оператора MIN.
Примеры
date1 = DATA DATE(INTEGER);
date2 = DATA DATE(INTEGER);
maxDate (INTEGER i) = MAX date1(i), date2(i);
balance = DATA INTEGER (Item);
outcome 'Остаток (неотрицательный)' (Item i) = MAX balance(i), 0;
minPrice(Book b) = MIN price1(b), price2(b);
date (INTEGER i) = DATA DATE (INTEGER);
minDate (INTEGER i) = MIN date(i), 2001_01_01;