Go to the first, previous, next, last section, table of contents.


引数

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.