Lindex — различия между версиями
Deniska (обсуждение | вклад) |
Deniska (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 13: | Строка 13: | ||
В случае, если '''list''' - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам. | В случае, если '''list''' - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам. | ||
− | set a | + | set a [list a1 a2 a3] |
− | set b | + | set b [list b1 b2 b3] |
set lst [list $a $b] | set lst [list $a $b] | ||
Строка 24: | Строка 24: | ||
В данном примере, аргумент ''1'' - обращается ко второму элементу списка '''lst''' (список b), а ''2'' - к третьему элементу списка '''b''' (элемент b3). Данный вид записи аналогичен следующей: | В данном примере, аргумент ''1'' - обращается ко второму элементу списка '''lst''' (список b), а ''2'' - к третьему элементу списка '''b''' (элемент b3). Данный вид записи аналогичен следующей: | ||
− | set a | + | set a [list a1 a2 a3] |
− | set b | + | set b [list b1 b2 b3] |
set lst [list $a $b] | set lst [list $a $b] | ||
Строка 35: | Строка 35: | ||
== Пример == | == Пример == | ||
− | set a | + | set a [list a1 a2 a3] |
# Вернет a2 | # Вернет a2 | ||
putlog [lindex $a 1] | putlog [lindex $a 1] | ||
Строка 42: | Строка 42: | ||
* [[set]] - присвоение | * [[set]] - присвоение | ||
* [[putlog]] - вывод сообщения в лог-файл | * [[putlog]] - вывод сообщения в лог-файл | ||
− | * [[list]] - создание списка | + | * [[list]] - создание списка |
− | + | * [[lrange]] - выборка нескольких элементов списка | |
+ | * [[linsert]] - вставка элементов в список | ||
+ | * [[llength]] - длина списка | ||
+ | * [[lsort]] - сортировка списка | ||
+ | * [[lappend]] - дозапись списка элементами | ||
+ | * [[lsearch]] - поиск элементов в списке | ||
+ | * [[lreplace]] - замена элементов в списке | ||
+ | * [http://www.tcl.tk/man/tcl8.5/TclCmd/lindex.htm TCL.tk - lindex] | ||
[[Category:TCL]] | [[Category:TCL]] |
Текущая версия на 10:21, 14 октября 2008
Команда извлекает элемент списка.
СИНТАКСИС
lindex list index
ОПИСАНИЕ
Команда lindex считает list Tcl-списком и возвращает index-ный элемент этого списка. Для index значение 0 соответствует первому элементу списка, а значение end - последнему. При выполнении команды соблюдаются общие правила интерпретатора Tcl относительно фигурных скобок, двойных кавычек и обратного слеша, хотя подстановки переменных и команд не происходят.
Если index отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента index равно end, команда возвращает последний элемент списка
В случае, если list - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам.
set a [list a1 a2 a3] set b [list b1 b2 b3] set lst [list $a $b] # Вернет a2 putlog [lindex $a 1] # Вернет b3 putlog [lindex $lst 1 2]
В данном примере, аргумент 1 - обращается ко второму элементу списка lst (список b), а 2 - к третьему элементу списка b (элемент b3). Данный вид записи аналогичен следующей:
set a [list a1 a2 a3] set b [list b1 b2 b3] set lst [list $a $b] # Вернет a2 putlog [lindex $a 1] # Вернет b3 putlog [lindex [lindex $lst 1] 2]
Пример
set a [list a1 a2 a3] # Вернет a2 putlog [lindex $a 1]
См. также
- set - присвоение
- putlog - вывод сообщения в лог-файл
- list - создание списка
- lrange - выборка нескольких элементов списка
- linsert - вставка элементов в список
- llength - длина списка
- lsort - сортировка списка
- lappend - дозапись списка элементами
- lsearch - поиск элементов в списке
- lreplace - замена элементов в списке
- TCL.tk - lindex