array

ReferenceTOPKeywords

コマンド名

array - 配列変数を処理します。

構文

array option arrayName ?arg arg ...?

解説

このコマンドはarrayNameという配列変数に対して下記いずれかの操作を行います。下記個々のコマンドでは、特別指定しない限り、arrayNameは現存する配列変数の名前でなければならません。option 引数はコマンドがどのような動作をするかを示します。使用できる合法的なoption ( 省略される場合もある ) は下記の通りです。

array anymore arrayName searchId
array donesearch arrayName searchId
array exists arrayName
array get arrayName ? pattern ? 
array names arrayName ?mode? ?pattern?
array nextelement arrayName searchId
array set arrayName list
array size arrayName
array startsearch arrayName
array statistics arrayName
array unsetarrayName ?pattern?
array anymore arrayName searchId
配列検索において未処理の要素がある場合1を返します。既に全要素が処理されている場合0を返します。 SearchIdarrayNameに対するどの検索をチェックするかを識別します。SearchIdは以前のarray startsearchコマンドの呼び出しからの戻り値でなければなりません。array nextelementからの戻り値が検索が完了したかどうかを示さないので、名前が空の要素が配列に存在する場合はこのオプションが特に役に立ちます。

array donesearch arrayName searchId
このコマンドは配列検索を終了させると同時に、該当検索と関連していた全ての状態を廃棄しまう。SearchIdarrayNameに対するどの検索を廃棄するかを示します。SearchIdは以前のarray startsearchコマンドの呼び出しからの戻り値でなければなりません。戻り値は空の文字列です。

array exists arrayName
arrayNameが配列変数の場合は1を返します。arrayNameという変数が存在しない場合や、スカラー変数である場合は0を返します。

array get arrayName ?pattern?
要素ペアを含むリストを返します。各ペアにおける1番目の要素はarrayNameの要素名であり、第2の要素はそれに対応する配列要素の値です。ペアのオーダは特に固定しません。patternが指定されていない場合は配列の全要素が結果に含まれます。patternが指定された場合、名前がpattern ( string matchのマッチング規則を使う)に一致する全ての要素名が結果に含まれます。arrayNameが配列変数名でない場合、もしくは配列に要素がない場合は空のリストを返します。

array names arrayName ?mode? ?pattern?
patternにマッチする配列の全要素の名前を含むリストを返します。modeは、-exact-globまたは-regexpのいずれかです。modeは指定された場合、patternの配列要素の名前とのマッチングルールを定義します。modeが指定されない場合、既定値は-globです。グロブ方式マッチングに関する情報は string matchのドキュメンテーションをご参照し、regexpマッチングに関する情報は regexpドキュメンテーションをご参照ください。 patternが省略される場合、コマンドは配列の全ての要素名を返します。配列にマッチングする要素がない場合、又はarrayNameが配列変数名でない場合は、空の文字列を返します。

array nextelement arrayName searchId
arrayNameの検索結果における次の要素名を返します。この検索においてarrayNameの全要素が既に返された場合空の文字列を返します。 searchId 引数は検索の識別子で、array startsearchコマンドの戻り値でなければならなりません。警告、配列に要素を追加又は削除する操作をした場合、array donesearchが実行されたと同じように、全ての検索が自動的に終了します。 結果としてこれらの(終了された)検索に対するarray nextelement操作は失敗します。

array set arrayName list
複数の要素の値をarrayNameに設定します。 listは偶数個の要素を含みます。array getコマンドの戻り値と同じフォーマットでななければならない。listにおける各奇数位置の要素はarrayNameの要素名として認識され、listにおける続く要素はその配列要素の新しい値として使われます。変数arrayNameが存在しない尚且つlistが空の場合、arrayNameという名前で空の配列を新規作成します。

array size arrayName
配列の要素数を示す10進数文字列を返します。arrayNameが配列の名前でない場合は0が返されます。

array startsearch arrayName
array nextelementコマンドを使って配列から個別な要素を検索したい場合、このコマンドでarrayName配列全体から各要素ごとの検索をする初期化をします。検索が完了後array donesearchコマンドを呼び出さなければならなりません。 戻り値はarray nextelement及びarray donesearchコマンドで使う検索識別子です。このコマンドは同じ配列で1つ以上の検索を同時に実行することを可能にします。

array statistics arrayName
配列を表すハッシュテーブルの中のデータのディストリビューションに関する統計情報を返します。この情報はテーブルにおけるエントリ数、バケット数及びバケットの利用数を表します。

array unset arrayName ?pattern?
pattern ( string matchのマッチング規則に従う) にマッチする全ての配列要素を削除します。arrayNameが配列変数の名前でない場合や、配列にマッチングする要素がない場合はエラーを返しません。patternが省略され、arrayNameが配列変数の場合このコマンドは配列全体を削除します。戻り値は空の文字列です。

参照

list, string, variable, trace

キーワード

array, element names, search


Copyright © 1993-1994 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.