Lindex — различия между версиями
Deniska (обсуждение | вклад) |
Deniska (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
'''ОПИСАНИЕ''' | '''ОПИСАНИЕ''' | ||
− | Команда [[lindex]] считает | + | Команда [[lindex]] считает ''list'' [[Tcl]]-списком и возвращает '''index''-ный элемент этого списка. Для '''index'' значение 0 соответствует первому элементу списка, а значение end - последнему. При выполнении команды соблюдаются общие правила интерпретатора Tcl относительно фигурных скобок, двойных кавычек и обратного слеша, хотя подстановки переменных и команд не происходят. |
Если '''index''' отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента '''index''' равно end, команда возвращает последний элемент списка | Если '''index''' отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента '''index''' равно end, команда возвращает последний элемент списка | ||
Строка 16: | Строка 16: | ||
set b {b1 b2 b3} | set b {b1 b2 b3} | ||
set lst [list $a $b] | set lst [list $a $b] | ||
− | + | ||
# Вернет a2 | # Вернет a2 | ||
putlog [lindex $a 1] | putlog [lindex $a 1] | ||
− | + | ||
# Вернет b3 | # Вернет b3 | ||
putlog [lindex $lst 1 2] | putlog [lindex $lst 1 2] | ||
Строка 27: | Строка 27: | ||
set b {b1 b2 b3} | set b {b1 b2 b3} | ||
set lst [list $a $b] | set lst [list $a $b] | ||
− | + | ||
# Вернет a2 | # Вернет a2 | ||
putlog [lindex $a 1] | putlog [lindex $a 1] | ||
− | + | ||
# Вернет b3 | # Вернет b3 | ||
putlog [lindex [lindex $lst 1] 2] | putlog [lindex [lindex $lst 1] 2] |
Версия 09:44, 14 октября 2008
Команда извлекает элемент списка.
СИНТАКСИС
lindex list index
ОПИСАНИЕ
Команда lindex считает list Tcl-списком и возвращает index-ный элемент этого списка. Для index значение 0 соответствует первому элементу списка, а значение end - последнему. При выполнении команды соблюдаются общие правила интерпретатора Tcl относительно фигурных скобок, двойных кавычек и обратного слеша, хотя подстановки переменных и команд не происходят.
Если index отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента index равно end, команда возвращает последний элемент списка
В случае, если list - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам.
set a {a1 a2 a3} set b {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 {a1 a2 a3} set b {b1 b2 b3} set lst [list $a $b] # Вернет a2 putlog [lindex $a 1] # Вернет b3 putlog [lindex [lindex $lst 1] 2]