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

Свойства

Свойство - это элемент системы, который принимает на вход набор объектов (параметров) и возвращает в качестве результата ровно один объект (возвращаемое значение).

Тип и особенности вычисления каждого свойства определяются оператором, создающим это свойство.

Ограничение типов

В силу особенностей реализации все возвращаемые не NULL значения свойства должны быть одного типа. То есть свойство не может для одного набора параметров возвращать, например, строку, а для другого - число.

Такое же ограничение существует и для каждого параметра свойства: свойство не может иметь не NULL значение для набора объектов, в котором, например, первый параметр строка, и при этом иметь не NULL значение для другого набора объектов, в котором первый параметр - объект.

Язык

Для создания свойств используется инструкция =.

Примеры

// cвойство задано контекстно-независимым оператором-свойством DATA
cost 'Стоимость' (i) = DATA NUMERIC[12,3] (Item);

// cвойство задано выражением
weightedSum 'Взвешенная сумма' (a, b) = 2*a + 3*b;

// заголовком этого свойства будет 'diff', а параметрами - (a, b)
diff = a - b;

// свойство задано оператором DATA с указанием дополнительных опций свойства
teamName 'Название команды' = DATA BPSTRING[30](Team) IN baseGroup TABLE team;