lsearch

ReferenceTOPKeywords

コマンド名

lsearch -  リストが特定の要素を含むかどうかを確認します 。

構文

lsearch ?options? list pattern

解説

本コマンドはlistの要素を検索し、うち1つがpatternとマッチするかを確認します。マッチすれば、このコマンドは(オプション-all-inlineが指定されない限り ) 最初に適合した要素のインデックスを返します。そうでなければコマンドは-1を返します。 option 引数はどのようにリストの要素がpatternにマッチするかを示し、以下の値のいずれかでなければなりません。

-all
-ascii
-decreasing
-dictionary
-exact
-glob
-increasing
-inline
-integer
-not
-real
-regexp
-sorted
-start index
-all
全てのマッチしているインデックス( あるいは、-inlineも指定された場合、マッチしている全ての値 ) のリストを結果として返します。

-ascii
リストの要素はASCII文字列として検査されます。このオプションは-exact-sortedと共に使われるときだけ有効です。

-decreasing
リストの要素は降順に整列されます。このオプションは-sortedと共に使われるときだけ有効です。

-dictionary
リストの要素は辞書順に従い比較されます。このオプションは-exact-sortedと共に使われるときだけ有効です。

-exact
リストの要素は、patternとまったく同じ文字列を含まなければなりません。

-glob
patternはglobスタイルのパターンであり、 それは string matchコマンドと同じルールを使って各リスト要素にマッチします。

-increasing
リストの要素は昇順に整列されます。このオプションは-sortedと共に使われるときだけ有効です。

-inline
マッチしている値 (あるいは、値がマッチしない場合には空文字列 ) は、そのインデックスの代りに返されます。-allも指定されている場合、このコマンドの結果 はマッチした全ての値のリストです。

-integer
リストの要素は整数として比較されます。このオプションは-exact-sortedと共に使われるときだけ有効です。

-not
これはマッチの意味の反対です。リストにおいて最初のマッチしない値のインデックスを返します。

-real
リストの要素は浮動小数点値として比較されます。このオプションは-exact-sortedと共に使われるときだけ有効です。

-regexp
patternは正規表現として扱われて、re_syntax参照ページに示されたルールを使って各リスト要素にマッチします。

-sorted
リスト要素は整列した順です。このオプションが指定されると、lsearchlist を検索する時に、より効率的な検索アルゴリズムを使います。他のオプションが指定されない場合、list は昇順に整列されてASCII文字列を含むものだと仮定されます。このオプションは-glob-regexpと相互に排他的です。-all-notのいずれかが指定される場合、-exactと同じ動作をします。

-start index
このリストは位置index から検索されます。index が値endなら、リストの最後の要素を参照します。そして、end‐integer はリストの最後の要素から指定された整数オフセットを引いた位置後の要素を参照します。

option が省略される場合のデフォルトは-globです。-exact-glob-regexp、及び-sortedのうち1つ以上が指定された場合最後に指定されるオプションが優先されます。-ascii-dictionary-integer、及び-realのうち1つ以上が指定された場合最後に指定されたオプションが優先されます。-increasing及び-decreasingのうち1つ以上が指定された場合、最後に指定されたオプションが優先されます。

lsearch {a b c d e} c => 2
lsearch -all {a b c a b c} c => 2 5
lsearch -inline {a20 b35 c47} b* => b35
lsearch -inline -not {a20 b35 c47} b* => a20
lsearch -all -inline -not {a20 b35 c47} b* => a20 c47
lsearch -all -not {a20 b35 c47} b* => 0 2
lsearch -start 3 {a b c a b c} c => 5

参照

foreach, list, lappend, lindex, linsert, llength, lset, lsort, lrange, lreplace

キーワード

list, match, pattern, regular expression, search, string


Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 2001 Kevin B. Kenny. All rights reserved. Copyright © 1995-1997 Roger E. Critchlow Jr.