====== lsearch ====== Recherche un élément particulier dans une liste. ===== Syntaxe ===== lsearch ?options? list pattern ===== Description ===== Cette commande recherche les éléments de //list// pour voir si l'un d'eux correspond à pattern. Si c'est le cas, la commande retourne l'index du premier élément correspondant. Sinon, la commande retourne **-1**. Les options permettent de modifier la façon dont la recherche est effectuée, les tris et le fonctionnement avec des listes imbriquées. ==== Options de recherche ==== * **-exact**: L'élément de la liste doit contenir exactement la même chaîne que pattern. * **-glob**: //pattern// est un modèle glob-style qui est comparé à chaque élément de liste en utilisant les même règles que la commande [[:tcl:string#match|string match]] * **-regexp**: //pattern// est traité comme une expression rationnelle et comparé à chaque élément de la liste en utilisant les règles décrites dans la page de référence [[:faq:re_syntax]]. * **-sorted**: Les éléments de la liste sont triés. Si cette option est spécifiée, **lsearch** utilisera un algorithme de recherche plus efficace. Si aucune autre option n'est spécifiée, //list// est considérée comme triée dans l'ordre ascendant et contenat des chaînes ASCII. Cette option s'exclue mutuellement avec **-glob** et **-regexp** et est traitée exactement comme **-exact** quand **-all** et **-not** ne sont pas spécifiés ===== Exemples ===== ===== Voir aussi ===== [[:tcl:list]], [[:tcl:lindex]], [[:tcl:lappend]], [[:tcl:linsert]], [[:tcl:llength]], [[:tcl:lset]], [[:tcl:lsort]], [[:tcl:lrange]], [[:tcl:lreplace]] https://www.tcl.tk/man/tcl/TclCmd/lsearch.html {{tag>tcl listes incomplet}}