int sum(int ... rest) {
int x = 0;
foreach (rest, int n) {
x+= n;
}
return x;
}
int main() {
array(int) ary = ({ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
// 配列展開を使って可変長引数を渡す
int n = sum(@ary);
write("n = %d\n", n); // => n = 55
return 0;
}
aW50IHN1bShpbnQgLi4uIHJlc3QpIHsKICAgIGludCB4ID0gMDsKICAgIGZvcmVhY2ggKHJlc3QsIGludCBuKSB7CiAgICAgICAgeCs9IG47CiAgICB9CiAgICByZXR1cm4geDsKfQoKaW50IG1haW4oKSB7CiAgICBhcnJheShpbnQpIGFyeSAgPSAoeyAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCB9KTsKCiAgICAvLyDphY3liJflsZXplovjgpLkvb/jgaPjgablj6/lpInplbflvJXmlbDjgpLmuKHjgZkKICAgIGludCBuID0gc3VtKEBhcnkpOwogICAgd3JpdGUoIm4gPSAlZFxuIiwgbik7IC8vID0+IG4gPSA1NQoKICAgIHJldHVybiAwOwp9