array
array option arrayName ?arg arg...?
array anymore arrayName searchId
array donesearch arrayName searchId
array exists arrayName
array get arrayName ?pattern?
array names arrayName ?pattern?
array nextelement arrayName searchId
array set arrayName list
array size arrayName
array startsearch arrayName
ОПИСАНИЕ
Эта команда предназначена для выполнения перечисленных ниже
операций с массивами. Если иное не оговорено специально,
arrayName должно быть именем существующего массива.
Аргумент option определяет конкретную операцию. Для
команды определены перечисленные ниже опции.
- array anymore
arrayName searchId
- Возвращает 1 если при выполнении команды поиска (см.
ниже) остались невыбранные элементы массива, и 0 в
противном случае. SearchId указывает операцию поиска,
информация о которой запрашивается (величина searchId
возвращается при выполнении команды array startsearch). Эта
опция особенно удобна, если массив содержит элемент с пустым
именем, поскольку команда array
nextelement не позволяет в таком случае определить,
закончен ли поиск.
- array
donesearch arrayName searchId
- Команда прерывает поиск элементов массива и удаляет всю
связанную с поиском информацию. SearchId указывает
операцию поиска, информация о которой удаляется (величина
searchId возвращается при выполнении команды array
startsearch). Команда возвращает пустую строку.
- array exists
arrayName
- Возвращает 1, если arrayName есть имя
массива, и 0, если такой переменной не существует
или она является скалярной переменной.
- array get
arrayName ?pattern?
- Возвращает список, содержащий пары элементов. Первый
элемент пары - имя элемента массива arrayName, второй
элемент пары - значение этого элемента. Порядок пар не
определен. Если шаблон не задан, то все элементы массива будут
включены в результат. Если шаблон задан, то в результат будут
включены только те элементы, чьи имена соответствуют шаблону
(используя те же правила, что и в команде glob). Если arrayName
не является переменной массива или массив не содержит
элементов, то возвращается пустой список.
- array names
arrayName ?pattern?
- Возвращает список, содержащий имена всех элементов массива,
соответствующих шаблону (используя те же правила, что и в
команде glob). Если шаблона
нет, то команда возвращает имена всех элементов массива. Если
в массиве нет элементов, соответствующих шаблону или
arrayName не является именем переменной массива, то
возвращается пустая строка.
- array
nextelement arrayName searchId
- Возвращает имя следующего элемента массива
arrayName, или пустую строку, если все элементы массива
уже возвращены. SearchId указывает операцию поиска,
(величина searchId возвращается при выполнении команды
array
startsearch). Предупреждение: если в массив внесен
новый элемент или из массива удален один из элементов, то все
операции поиска в этом массиве автоматически заканчиваются,
как если бы была выполнена команда array donesearch.
Соответственно, попытка выполнить после этого команду array
nextelement приведет к ошибке.
- array set
arrayName list
- Устанавливает значение одного или нескольких элементов
массива arrayName. Список list должен иметь
такую же структуру, как список, возвращаемый командой array get, то есть
состоять из четного числа элементов. Все нечетные элементы
списка рассматриваются как имена элементов массива
arrayName, а следующие за ними четные элементы - как новые
значения соответствующих элементов.
- array size
arrayName
- Возвращает строку, содержащую десятичное число, равное
количеству элементов указанного массива. Если
arrayName не является именем массива, возвращается
0.
- array
startsearch arrayName
- Эта команда инициализирует процесс поиска элементов
указанного массива. После этого имя каждого следующего
элемента массива можно получить с помощью команды array nextelement. По
завершении поиска необходимо выполнить команду array
donesearch. Команда array startsearch возвращает
идентификатор процесса поиска, который должен использоваться в
командах array
nextelement и array
donesearch. Благодаря этому механизму возможно
проведение нескольких процессов поиска элементов одного и того
же массива одновременно.