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

Константа

Оператор константа позволяет создавать свойства без параметров, которые всегда возвращают одно и то же значение. Этим значением могут быть статические объекты пользовательских и встроенных классов, а также специальное значение NULL. Класс значения определяется самим значением:

Значение константыКласс значения
Статический объект пользовательского классакласс, в объявлении которого этот объект перечислен
Встроенное значениевстроенный класс этого значения
NULLотсутствует — класс задаётся окружающим контекстом там, где он требуется

Константы FALSE не существует — ложное значение представляется как NULL.

Язык

Константы записываются как ссылки на статические объекты для значений пользовательских классов и как литералы для значений встроенных классов и NULL.

Примеры

CLASS Direction {
north, east, south, west // объявляем статические объекты
}

// здесь константное свойство создается из объекта Direction.north, которое затем используется
// оператором сравнения для построения свойства isNorth
isNorth (Direction d) = d == Direction.north;

// здесь константное свойство создается из литерала, описывающего дату
defaultDate() = 1982_07_13;

CLASS Man;
age 'Возраст' = DATA INTEGER (Man);
// здесь константное свойство создается из целого числа (целочисленного литерала)
isChild (Man m) = age(m) < 17;