That hideously lovely third line certainly would do the job in Perl 6 (well done!), but was it really necessary to be so cruel to the mere mortals who'll have to maintain that code???
Of course not -- that was just sillyness :-)
What I really wanted was to show off reduce. And so, I am very happy to hear that reduce will (almost certainly) be a built-in in Perl 6. For my next hope-to-see, that reduce will DWIM with lists (still silly, since "^+" is as easy as ",", but in this context, that is just an example, okay):
# I hope this works: @foobar = reduce {@a ^+ @b} @foo, @bar, @baz, @etc; # ... or this: @foobar = reduce {@$a ^+ @$b} @foo, @bar, @baz, @etc; # ... or possibly this: @foobar = reduce {$a ^+ $b} @foo, @bar, @baz, @etc;
Unless there is one flattening and one non-flattening reduce (which sounds like a waste), that would mean that to apply reduce to the flattened list, you would need to explicitly flatten it, right?
@foobar = reduce {$a + $b} *(@foo, @bar, $baz, $etc);
Looks weird, but I could live with it :-)
{... daydreams of Perl 6 ...}
The Sidhekin
print "Just another Perl ${\(trickster and hacker)},"
In reply to Re: Re: Re: Summing the elements of multiple arrays into a new array
by Sidhekin
in thread Summing the elements of multiple arrays into a new array
by djw
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |