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
- リスト要素は整列した順です。このオプションが指定されると、lsearchはlist
を検索する時に、より効率的な検索アルゴリズムを使います。他のオプションが指定されない場合、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.
|