← All examplesvariadic.zg Output
Variadic
fn sum [...'nums'] -> bin64 {
let 'total': bin64 = 0;
for 'n' in lend 'nums' { change 'total' = 'total' plus to.bin64['n']; }
return 'total';
}
fn count_ints [...'nums': int32] -> uint64 {
return list.length[lend 'nums'];
}
fn show [lent 'label': str.utf8, lent ...'parts'] {
std::print.useful['label', ": "];
for 'p' in lend 'parts' { std::print.useful['p', " "]; }
std::print.stored[newln];
}
MAIN {
std::print.useful[sum[1, 2.5, 3], newln];
std::print.useful[sum[], newln];
std::print.useful[count_ints[4, 5, 6], newln];
let 'name' := "Ann";
show["mixed", lend 'name', 7, true, `x`];
show["none"];
}
6.5 0 3 mixed: Ann 7 true x none: