削除された内容 追加された内容
97行目:
}
 
AWK の変数は、引数を除いて全て[[大域変数]]であり、ローカルな局所のスコープを持つのは引数として宣言された変数だけである。このため、テクニックとして、関数定義で余分な引数を宣言し、それをローカル局所変数として使う、ということがおこなわれる。AWK では、関数の呼び出し時に、実引数の個数が仮引数の個数より少なくても、省略とみなしエラーとしない。これを利用して、余分な引数をローカル局所変数として使うのである。構文上の区別は無いが、判読性を向上させるために両者の間に十分な空白を挿入するのが慣例になっている。つまり、次のような形である。
 
function 関数名 (引数<sub>1</sub>, 引数<sub>2</sub>, 引数<sub>3</sub>, 局所変数<sub>41</sub>, 局所変数<sub>52</sub>, …)
{
}
 
このように関数を定義して、この関数を呼び出すときに引数を3つしか使わなければ、局所変 4 以降はローカル局所変数として扱える。構文上の区別は無いが、判読性を向上させるために両者の間に十分な空白を挿入するのが慣例になっている。
 
function 関数名 (引数<sub>1</sub>, 引数<sub>2</sub>, 引数<sub>3</sub>, 局所変数<sub>1</sub>, 局所変数<sub>2</sub>, …)
 
また、AWK の関数は再帰呼び出しもできる。