Next: 一般的な可変長引数関数
Up: 可変長引数関数
Previous: 可変長引数関数
リストを利用して,可変長の引数をもつ関数を定義することができる。
可変長の引数を持つ関数の例として,引数として渡された行列の和を返す関数
を以下に示す。ただし,引数の行列の大きさは,全て等しいと仮定している。
Func Matrix sum_mat(args)
List args;
{
Integer i, argn;
Matrix ss;
argn = length(args);
ss = args(1, Matrix);
for (i = 2; i <= argn; i++) {
ss = ss + args(i, Matrix);
}
return ss;
}
可変長の引数を持つ関数を呼び出す時は,渡したい引数から1つのリストを作り,
それを引数として渡す。
関数sum_mat()の呼び出しは,次のようになる。
a = [[1 0][0 1]]; b = [[1 2][3 4]];
c = [[4 3][2 1]]; d = [[0 1][1 0]];
print sum_mat({a, b, c, d});
Masanobu KOGA
平成10年8月19日