function = 関数を作る - AWK
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
関数を作ります。o 部品化したい時は、「ローカル変数を使う」も合わせてどうぞ。
**** 書式
--------
function 関数名( [引数の列] ) { [内容] }
--------
o 関数名 -- 名前を付けます。
+ 最初の文字は、半角アルファベット、もしくは半角のアンダースコア「_」
+ 2文字目以降は、半角アルファベット、半角数字、もしくは半角のアンダースコア「_」
o 引数の列 -- カンマで区切ります。
+ 引数の名前の付け方は、関数名と同じです。
+ functionで定義する引数は、実際に使う数よりも多く指定する事も出来ます。
+ 不要な時は、省略する事も出来ます。
o 内容 -- 実行したい文を並べます。
+ 不要な時は、省略する事も出来ます。
**** 使用例
--------
function f(a, b) {
return (a + b);
}
BEGIN {
print f(390, 3); # 表示は 393
}
--------
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o 関数を作ります。
o 引数は、配列以外は値渡しです。
+ 配列以外は、値渡しになります。
+ 関数内で引数の値を変更しても、関数の呼び出し元に影響を与えません。
+ 配列の場合は、参照渡しになります。
+ 関数内で配列の要素の値を変更すると、関数の呼び出し元にも影響を与えます。
o その他、途中で終了したい時や、配列を使わずに値を1つ戻したい時は、return を使います。
**** メモ
o 作った関数は、再帰呼び出しも可能です。
+ 少なくとも、自分を100回呼び出す事は出来ました。
o AWKの関数定義では、引数を余分に書いて、局所変数として使う技があります。
**** 確認した処理系
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
▼制作メモ
> return = 関数の呼び出し元に戻る
exit = 終了する
next = 次行の処理に移る
+
ローカル変数を使う
func (= function の古い書き方)
(2010年9月15日追加。再帰呼び出し可能と明記)