Increment each element in an array.
In Perl 6, there is no need to explicitly iterate over an array to apply some operation to each element. Use a hyper-operator:
@data>>++;
Let us try it on a small array:
my @data = 1..10;
@data>>++;
say @data; # [2 3 4 5 6 7 8 9 10 11]
The >>++ operator is a hyper-operator that applies the ++ operator to each element of the array. As the ++ operator modifies the element, the whole @data array is also modified after the operation.
Alternatively, one of the following forms may be used:
@data <<+=>> 1;
@data >>+=>> 1;
These constructions take every element of the array and perform the += 1 operation on it.
Notice that if you omit the = sign in the last examples, the original data is not modified.
my @data = 1..10;
my @new-data = @data >>+>> 1;
say @data;Â Â Â Â Â #Â [1 2 3 4 5 6 7 8 9 10]
say @new-data;Â #Â [2 3 4 5 6 7 8 9 10 11]