AWK の配列 Last modified: May 15, 2002
AWK では他の言語と異なった仕組みで配列を用意している。AWK の配列は「連想配列」と呼ばれるもので,添字は 1(あるいは 0)から始まる連続する数値とは限らない。任意の文字列が添字として使われる。
例えば,
a["boy"] = 2
a["girl"] = "not found"
a[19] = 123
a[1] = "One"
等のようになっている。
AWK の配列に格納されている要素は,何らかの基準で順番に格納されているわけではないので,それらを操作するためにいくつかの構文が用意されている。
- index in array
配列 array に特定の添字 index が存在するかどうかの条件式を表す。存在すると「真値」,存在しないと「偽値」を返す。
例:if ("boy" in a) print a["boy"]
もし,配列 a に添字 "boy" が存在するなら,その要素の値である a["boy"] を表示する。
- for (variable in array) { body }
配列 array の全ての添字 variable について,body で表される内容を実行する。
例:for (i in a) { print i, a[i] }
配列 a の全ての添字と,対応する要素の値を表示する。
- delete array[index]
配列 array の,該当する要素 array[index] を取り除く(クリアするのではなく,割り当てられていたメモリ自体を解放する)。
例:for (i in a) { delete a[i] }
配列 a に割り当てられていたメモリを全て解放する。この後では,配列 a は存在しなくなる。
- delete array
配列 array 全体を取り除く。
直前のページへ戻る E-mail to Shigenobu AOKI