ローカル変数を使う方法 - AWK
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
AWKの変数は、関数の引数以外はグローバル変数です。ローカル変数が欲しい時は、関数の引数の後ろに、使いたい変数を追加します。
**** グローバル変数とローカル変数の違い
o グローバル変数は、ブログラムのどこからでも更新出来る変数です。
+ AWKの変数は、基本的にグローバル変数です。
o ローカル変数は、括弧の中でだけ有効な変数。部品を作る時に便利です。
o ローカル変数の直前は、多めに空けておく事が推奨されているみたいです。
+ 理由は、実際に必要な引数と明確に区別する為です。
**** 例1. ローカル変数 tmp1を使う方法
----------------
function f(v1, v2, tmp1) { # ローカル変数の前を空けるのは、AWK界の慣習みたいです。
tmp1 = v1 * v2;
}
{
tmp1 = 10;
f(2, 3);
print "tmp1の値は " tmp1 " です。"; # 10のままです。
}
----------------
**** 例2. 関数の引数にしなかった時の動作
どこかで、同じ名前の変数を使っていると、その値が上書きされます。
----------------
function f(v1, v2) {
tmp1 = v1 * v2;
}
{
tmp1 = 10;
f(2, 3);
print "tmp1の値は " tmp1 " です。"; # 上書きされて 6になります。
}
----------------
**** 確認した処理系
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
▼制作メモ
> AWKプログラム実行時に変数を設定する方法
AWKで入力ファイルの指定を不要にする
> ▼AWKの関数、変数、制御文(目的別)
+
AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する
(2010年8月2日追加。ローカル変数を使う時の慣習)