Perlの代替として(9)

可変個引数

Perlではサブルーチンの引数は配列に変換されるので、
最初から可変個引数のようなものである。


print sum(1, 2, 3), "\n";

sub sum {
my $result;
for(@_) {
$result += $_;
}
return $result;
}

Dでも同じように書ける。


import std.cstream;

void main(char[][] arg) {
dout.writefln(sum(1, 2, 3));
}

int sum(int[] arg ...) {
int result;
foreach(a; arg)
result += a;
return result;
}

...を忘れないように。
Cのようにも書けるが、パス。


どうも、テンプレートは使えないようだ。