RosettaCodeData/Task/Variadic-function/D/variadic-function.d

24 lines
477 B
D
Raw Normal View History

2013-04-11 01:07:29 -07:00
import std.stdio, std.algorithm;
void printAll(TyArgs...)(TyArgs args) {
foreach (el; args)
2014-04-02 16:56:35 +00:00
el.writeln;
2013-04-11 01:07:29 -07:00
}
// Typesafe variadic function for dynamic array
void showSum1(int[] items...) {
2014-04-02 16:56:35 +00:00
items.sum.writeln;
2013-04-11 01:07:29 -07:00
}
// Typesafe variadic function for fixed size array
void showSum2(int[4] items...) {
2014-04-02 16:56:35 +00:00
items[].sum.writeln;
2013-04-11 01:07:29 -07:00
}
void main() {
2015-11-18 06:14:39 +00:00
printAll(4, 5.6, "Rosetta", "Code", "is", "awesome");
2014-04-02 16:56:35 +00:00
writeln;
2013-04-11 01:07:29 -07:00
showSum1(1, 3, 50);
showSum2(1, 3, 50, 10);
}