def sum(N) {
for ( I = 1, S = 0; I <= N; I++ )
S += I;
return S;
}
これは, 1 から N までの自然数の和を求める函数 sum() の
定義である. この例における sum(N) の N が引数である.
この例は, 1 引数函数の例であるが, 一般に引数の個数は任意であり,
必要なだけの個数を `,' で区切って指定することができる. 引数は
値が渡される. すなわち, 引数を受けとった側が, その引数の値を変更して
も, 渡した側の変数は変化しない. ただし, 例外がある. それは, ベクトル,
行列を引数に渡した場合である. この場合も, 渡された変数そのものを書き
替えることは, その函数に局所的な操作であるが, 要素を書き換えた場合,
それは, 呼び出し側のベクトル, 行列の要素を書き換えることになる.
def clear_vector(M) {
/* M is expected to be a vector */
L = size(M)[0];
for ( I = 0; I < L; I++ )
M[I] = 0;
}
この函数は, 引数のベクトルを 0 ベクトルに初期化するための函数である. また, ベクトルを引数に渡すことにより, 複数の結果を引数のベクトルに 収納して返すことができる. 実際には, このような場合には, 結果をリスト にして返すこともできる. 状況に応じて使いわけすることが望ましい.
Go to the first, previous, next, last section, table of contents.