Операции с контейнерами
Подсчет количества элементов
К контейнеру можно применить операцию подсчета элементов, содержащихся в нем.
Синтаксис:
#<переменная>
Пример:
ВЫЧИСЛИТЬ ПЕРЕМ ЧИСЛО: м[] м[1] = 100 м[2] = 200 м[3] = м[2] + м[1] СООБЩЕНИЕ(СТР(#м))//3 КОНЕЦ
Очистка контейнера
Для того чтобы очистить контейнер, необходимо произвести операцию СБРОС. При очистке удаляются все элементы контейнера.
Синтаксис:
СБРОС(<переменная>)
Пример:
ВЫЧИСЛИТЬ ПЕРЕМ ЧИСЛО: м[] м[1] = 100 м[2] = 200 м[3] = м[2] + м[1] СБРОС(м) СООБЩЕНИЕ(СТР(#м))//0 КОНЕЦ
Очистка контейнера также может быть выполнена с помощью оператора присваивания и пустой константы контейнерного типа.
Синтаксис:
<переменная> = ()
Пример:
ВЫЧИСЛИТЬ ПЕРЕМ ЧИСЛО: м[] м[1] = 100 м[2] = 200 м[3] = м[2] + м[1] СООБЩЕНИЕ(СТР(#м))//3 м = () СООБЩЕНИЕ(СТР(#м))//0 КОНЕЦ
Удаление указанного элемента
Помимо удаления всех элементов контейнера можно удалять какой-то конкретный элемент контейнера.
Синтаксис:
^<элемент контейнера>
Пример:
ВЫЧИСЛИТЬ ПЕРЕМ ЧИСЛО: м[] м[1] = 100 м[2] = 200 СООБЩЕНИЕ(СТР(#м))//2 ^м[2] СООБЩЕНИЕ(СТР(#м))//1 КОНЕЦ
При использовании длинных цепочек обращений к элементам операции удаления,подсчета количества элементов,проверки существования указанного элемента применяются к самому последнему элементу в такой цепочке. В примере, приведенном ниже, операция удаления конкретного элемента производит удаление элемента контейнера "шрифты" с идентификатором "полужирный".
Пример:
ТИП СПИСОК_ДИАЛОГОВ [ ДИАЛОГ:д[]; ] ВЫЧИСЛИТЬ ПЕРЕМ СПИСОК_ДИАЛОГОВ: сд; ^сд.д[1].шрифты[ "полужирный" ]; СООБЩЕНИЕ(СТР(сд)) КОНЕЦ
Проверка существования указанного элемента
Операция проверки существования предназначена для поиска элементов. Если элемент с указанными значениями индексов существует, то операция возвращает ДА, а в противном случае - НЕТ. Приоритет операции - самый высокий.
Синтаксис:
&<элемент контейнера>
Пример:
ВЫЧИСЛИТЬ ПЕРЕМ ЧИСЛО: м[] м[1] = 100 м[2] = 200 м[3] = м[2] + м[1] ПЕРЕМ сущ = &м[4] ОТЛАДКА(сущ) //НЕТ КОНЕЦ