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

Операции с контейнерами

Подсчет количества элементов

К контейнеру можно применить операцию подсчета элементов, содержащихся в нем.

Синтаксис:

#<переменная>

Пример:

ВЫЧИСЛИТЬ
  ПЕРЕМ ЧИСЛО: м[]
  м[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]
  ОТЛАДКА(сущ) //НЕТ
КОНЕЦ

См. также: