Spec-Zone.ru › Tcl/Tk

lindex

Имя

lindex — Извлечение элемента из списка

Синопсис

lindex список ?индекс ...?

Описание

Команда lindex принимает параметр список, который рассматривается как список Tcl. Она также принимает ноль или более индексов в списке. Индексы могут быть представлены либо последовательно в командной строке, либо сгруппированы в списке Tcl и представлены как один аргумент.

Если индексы не представлены, команда имеет вид:

lindex list

или

lindex list {}

В этом случае возвращаемое значение lindex — это просто значение параметра список.

При представлении одного индекса команда lindex рассматривает список как список Tcl и возвращает индекс-ый элемент из него (0 относится к первому элементу списка). При извлечении элемента lindex соблюдает те же правила относительно фигурных скобок, кавычек и обратных слэшей, что и интерпретатор команд Tcl; однако, подстановка переменных и подстановка команд не выполняются. Если индекс отрицательный или больше или равен количеству элементов в значении, то возвращается пустая строка. Интерпретация каждого простого значения индекса такая же, как и для команды string index, поддерживает простую арифметику индексов и индексы относительно конца списка.

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

lindex $a 1 2 3

или

lindex $a {1 2 3}

эквивалентна

lindex [lindex [lindex $a 1] 2] 3

Примеры

К спискам можно обращаться по индексам с обоих концов:
lindex {a b c} 0
      → a
lindex {a b c} 2
      → c
lindex {a b c} end
      → c
lindex {a b c} end-1
      → b

Списки или последовательности индексов позволяют выбирать элементы во вложенных списках:

lindex {a b c}
      → a b c
lindex {a b c} {}
      → a b c
lindex {{a b c} {d e f} {g h i}} 2 1
      → h
lindex {{a b c} {d e f} {g h i}} {2 1}
      → h
lindex {{{a b} {c d}} {{e f} {g h}}} 1 1 0
      → g
lindex {{{a b} {c d}} {{e f} {g h}}} {1 1 0}
      → g

Индексы списка также могут выполнять ограниченное вычисление, добавляя или вычитая фиксированные значения из других индексов:

set idx 1
lindex {a b c d e f} $idx+2
      → d
set idx 3
lindex {a b c d e f} $idx+2
      → f

См. также

list, lappend, linsert, llength, lsearch, lset, lsort, lrange, lreplace, string

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/lindex.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/lindex.htm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API