Встроенные команды ТCL


array

        Синтаксис
        array option arrayName?arg arg...?

        array anymore arrayName searchId

        array donesearch arrayName searched

        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 не является именем переменной массива, то возвращается пустая строка.

arr ay nextelement arrayName searchId
        Bозвращает имя следующего элемента массива 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. Благодаря этому механизму возможно проведение нескольких процессов поиска элементов одного и того же массива одновременно.
Hosted by uCoz