# function abstraction over append-like functionality via +@ slurping
sub slurp-positionals(@target, +@vals)
{
@target.append(@vals);
}
"--- +@ magics ---".say;
slurp-positionals([], 0).say;
slurp-positionals([], 0, 1, 2).say;
slurp-positionals([], $(0, 1, 2)).say;
# turns out pairs are better for my abstraction
sub slurp-pairs(@target, *%pairs)
{
@target.append(%pairs.values);
}
"--- unmagic *% ---".say;
slurp-pairs([], a => 0).say;
# oh no, no +@ magics
slurp-pairs([], a => (0, 1, 2)).say;
# now redundant
slurp-pairs([], a => $(0, 1, 2)).say;