Lsearch — различия между версиями
Deniska (обсуждение | вклад) (Новая: Команда проверяет наличие заданного элемента в списке. '''СИНТАКСИС''' lsearch ''?mode? list pattern'' '''ОПИСАНИЕ...) |
Deniska (обсуждение | вклад) (→См. также) |
||
Строка 31: | Строка 31: | ||
== См. также == | == См. также == | ||
* [[set]] - присвоение | * [[set]] - присвоение | ||
− | |||
* [[list]] - создание списка | * [[list]] - создание списка | ||
* [[lrange]] - выборка нескольких элементов списка | * [[lrange]] - выборка нескольких элементов списка |
Версия 11:25, 14 октября 2008
Команда проверяет наличие заданного элемента в списке.
СИНТАКСИС
lsearch ?mode? list pattern
ОПИСАНИЕ
Данная команда просматривает по очереди элементы списка list с целью найти первый из них, совпадающий с заданным образцом pattern. Команда возвращает индекс первого найденного такого элемента или "-1", если такой элемент не найден. Аргумент mode указывает конкретный способ сравнения элементов списка и образца. Возможные значения аргумента:
-exact
Означает, что элемент списка должен быть в точности равен образцу
-glob
Означает, что используются такие же правила сравнения, как в команде string match.
-regexp
Означает, что образец считается регулярным выражением, и для сравнения используются те же правила, что и в команде regexp.
Значение по умолчанию -glob.
Пример
set lst [list a1 a2 abc ab af] # Вернет 3 lsearch $lst "*b" # Вернет 4 lsearch -exact $lst "af" # Вернет -1 lsearch $lst "nonexistent"