Добавление в контейнер
Для одномерных последовательных контейнеров поддерживается упрощенный синтаксис добавления элемента с очередным значением индекса.
Синтаксис:
<переменная контейнерного типа> += <выражение>
Тип выражения должен соответствовать типу элементов контейнерного типа.
Примеры
ПЕРЕМ СТРОКА: конт[] конт += "А" конт += "Б" ОТЛАДКА(конт) // (1: "А", 2: "Б")
Без использования оператора добавления аналогичный код будет выглядеть более громоздко:
ПЕРЕМ СТРОКА: конт[] конт[#конт + 1] = "А" конт[#конт + 1] = "Б" ОТЛАДКА(конт) // (1: "А", 2: "Б")
Если для контейнерного типа указан нижний предел индекса отличный от 1, то при добавлении в пустой контейнер нумерация начинается от нижнего предела. Если очередное значение индекса превышает верхний предел, то возникает ошибка.
ПЕРЕМ СТРОКА: к[ЦЕЛОЕ(-2, 2)] к += "А" // (-2: "A") к += "Б" // (-2: "A", -1: "Б") к += "В" // (-2: "A", -1: "Б", 0: "В") к += "Г" // (-2: "A", -1: "Б", 0: "В", 1: "Г") к += "Д" // (-2: "A", -1: "Б", 0: "В", 1: "Г", 2: "Д") к += "Е" // ошибка: индекс 3 выходит за пределы диапазона
Если в контейнере нет элементов с некоторыми значениями индексов (разрывы нумерации), то оператор добавления не заполняет "дырки". Вместо этого добавляется элемент с индексом, следующим за максимальным существующим.
ПЕРЕМ СТРОКА: к[] к[5] = "А" к[7] = "Б" к += "В" // (5: "А", 7: "Б", 8: "В")