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

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Перейти к: навигация, поиск
 
(не показано 10 промежуточных версии этого же участника)
Строка 1: Строка 1:
Команда извлекает элемент списка.  
+
Команда извлекает элемент [[list|списка]].
  
 
'''СИНТАКСИС'''
 
'''СИНТАКСИС'''
Строка 7: Строка 7:
 
'''ОПИСАНИЕ'''
 
'''ОПИСАНИЕ'''
  
Команда [[lindex]] считает '''list'' [[Tcl]]-списком и возвращает '''index''-ный элемент этого списка. Для '''index'' значение 0 соответствует первому элементу списка, а значение end - последнему. При выполнении команды соблюдаются общие правила интерпретатора Tcl относительно фигурных скобок, двойных кавычек и обратного слеша, хотя подстановки переменных и команд не происходят.
+
Команда [[lindex]] считает '''list''' [[Tcl]]-списком и возвращает '''index'''-ный элемент этого списка. Для '''index''' значение 0 соответствует первому элементу списка, а значение end - последнему. При выполнении команды соблюдаются общие правила интерпретатора Tcl относительно фигурных скобок, двойных кавычек и обратного слеша, хотя подстановки переменных и команд не происходят.
  
 
Если '''index''' отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента '''index''' равно end, команда возвращает последний элемент списка
 
Если '''index''' отрицательное число или больше или равно числу элементов, команда возвращает пустое значение. Если значение аргумента '''index''' равно end, команда возвращает последний элемент списка
Строка 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]
 
+
 
 
   # Вернет a2
 
   # Вернет a2
 
   putlog [lindex $a 1]
 
   putlog [lindex $a 1]
 
+
 
 
   # Вернет b3
 
   # Вернет b3
 
   putlog [lindex $lst 1 2]
 
   putlog [lindex $lst 1 2]
  
 
В данном примере, аргумент ''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]
 
+
 
 
   # Вернет a2
 
   # Вернет a2
 
   putlog [lindex $a 1]
 
   putlog [lindex $a 1]
 
+
 
 
   # Вернет b3
 
   # Вернет b3
 
   putlog [lindex [lindex $lst 1] 2]
 
   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]] - замена элементов в списке
 +
* [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