in reply to Non-destructive array processing

I think the Perl 6 solution looks the best, but if i had to pick one of your original two, it would be the former. I think the predicate for the while loop looks, while the predicate for the for loop looks like C. I do love the way you copy the array, though ... that's sure to make some ears bleed. ;) But ... is there any benefit in doing so? Isn't my @r = @array; just as effective, or i am i missing a scalability issue here?

I have grown to dislike the C-style for(;;;) over the years, so much that i like to sometimes substitute a bit of speed for evilness such as:

my @array = 1..10; for my $i (grep $_%2, 0..$#array) { my @chunk = @array[$i - 1, $i]; print "Chunk: @chunk\n"; } print "Original array is still intact! (@array)\n";
However, my wise uncle would remind me that your second snippet is the best because it is simple and brute force. It has more potential to have a wider audience of programmers understand how it ticks then the first snippet does. I still like to make ears bleed, tho ... ;)

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.