Lindex — различия между версиями

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии этого же участника)
Строка 13: Строка 13:
 
В случае, если '''list''' - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам.
 
В случае, если '''list''' - это Tcl-список, состоящий из других Tcl-списков, можно напрямую обратить к вложенным элементам.
  
   set a {a1 a2 a3}
+
   set a [list a1 a2 a3]
   set b {b1 b2 b3}
+
   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 {a1 a2 a3}
+
   set a [list a1 a2 a3]
   set b {b1 b2 b3}
+
   set b [list b1 b2 b3]
 
   set lst [list $a $b]
 
   set lst [list $a $b]
 
    
 
    
Строка 34: Строка 34:
 
   putlog [lindex [lindex $lst 1] 2]
 
   putlog [lindex [lindex $lst 1] 2]
  
 +
== Пример ==
 +
  set a [list a1 a2 a3]
 +
  # Вернет a2
 +
  putlog [lindex $a 1]
  
 
== См. также ==
 
== См. также ==
 
* [[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]]

Текущая версия на 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