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.