Руководство разработчика

Константы контейнерных типов

Константой контейнерного типа является набор константных значений, которым поставлены в соответствие значения индексов. При инициализации значения контейнерного типа создаются элементы с заданными индексами и значениями.

Список элементов заключается в круглые скобки. Элементы в списке разделяются запятой. Элемент состоит из значений индексов, перечисленных через запятую, и значения элемента, отделенного от значений индексов двоеточием. Для 2-х и более мерных контейнерных типов порядок значений индексов такой же, как и при обращении к элементу.

Синтаксис

(<индекс1>, <индекс2>[, ...]: <значение элемента>[, <следующий элемент>, ... ])

В последовательных одномерных контейнерах элемент контейнера можно задавать стандартным способом, а можно указывать только значение элемента, то есть значения индекса можно не указывать. В таком случае значения элементов контейнера автоматически получают значения индексов, начиная с нижнего предельного значения индекса, увеличивая каждое последующее на 1 до верхнего предельного значения индекса. Использование такого задания констант контейнерного типа без соответствующих им значений индексов очень удобно, например, при вставке нового элемента в контейнер пришлось бы изменять значения индексов у элементов, которые следуют после добавленного элемента.

Синтаксис

(<значение элемента1>[, <значение элемента2>, ... ])

В константе контейнерного типа не должно быть элементов с одинаковыми значениями индексов. В качестве значений индексов могут выступать константы стандартных типов. Значения индексов и элемента могут быть заданы константными выражениями.

Константы контейнерного типа могут использоваться только в тех местах исходного кода, где контейнерный тип следует из контекста. Например, справа от знака =, когда слева от него указана переменная контейнерного типа.

Примеры

//последовательная одномерная контейнерная константа с двумя вариантами задания
(100, 110, 120)
(1: 1, 2: 10, 3: 2)
//ассоциативные одномерные контейнерные константы
(0.1: -1, 1: 1, 10: 2, 100: 3)
(1: "Ок", 2: "Отмена", 3: "Справка")
("январь": 01.01.2015, "февраль": 01.02.2015)

// двумерная константа со значениями различных типов и числовыми индексами
(1, 1: "a", 1, 2: 5, 1, 3: 16.10.2015, 1, 4: НЕТ)

// трехмерная константа со значениями различных типов и строковыми индексами
("Иванов", "документ", "название": "паспорт",
 "Иванов", "документ", "серия"   : "II-СМ"  ,
 "Иванов", "документ", "номер"   : 654789   )

См. также: