2010年8月2日月曜日

配列を使う時の注意点まとめ - AWK

AWKの配列操作関数と関連機能
** 配列の基本操作について
o 多次元配列を使いたい時は、カンマで区切ります。(例。a[1,2])
o 配列の添え字は、代入だけでなく、使用時にも自動設定されます。
   + 「値が無いかなあ」と、print a[2]; のような書き方をすると、a[2]が定義されます。
    + 値は空です。でも、後で for文を使って添え字を取り出すような時には、ご注意下さい。

** AWKで出来ない事
o 変数の再利用について、制限があります。
   + 配列にした変数は、その後、配列以外の目的で再利用する事が出来ません。
   + 配列以外の目的で使った変数は、配列として再利用する事は出来ません。
o 配列Aを配列Bに直接代入する事は出来ません。
   + 必要な時は、要素を1つずつコピーします。詳しくは「配列を代入、コピーする方法
o 配列Aを配列Bの要素にする事は出来ません。

** 関数における配列の扱いについて
o 関数の引数として配列を渡す時、その配列に書き込んだ結果は、呼び出し元にも伝わります。
o 関数の戻り値として、配列を渡す事は出来ません。


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)


==
関連ページ:
    ▼AWKの配列操作関数と関連機能▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > 配列を代入、コピーする
    length = 文字列や配列の長さを調べる
    delete = 配列の要素を削除する
    +
    SUBSEP = 配列の添え字の区切り文字
    数値計算関数使用時の注意点まとめ
    文字列操作関数使用時の注意点まとめ
    入出力とコマンド実行の注意点まとめ
    時刻取得関数を使う時の注意点まとめ
(2010年10月1日追加。配列を代入する方法)