On 02/28/2017 01:20 PM, ToddAndMargo wrote:
Hi All,

There are times when I want to know th4e index of an array
when I am in a "for @array" loop.  I can do it with a
variable outside the for loop and increment it, but
I would line to know know if there is a way to incorporate
it in the loop command.

This is my long winded way of doing it in Perl 5:

while (my ($Index, $Element) = each ( @Sorted_List ) ) { do something }


Many thanks,
-T


Hi All,

Thank you all!

Made me look up "kv":

   https://docs.perl6.org/routine/kv
   Returns an interleaved sequence of indexes and values. For example
   <a b c>.kv; # (0 a 1 b 2 c)

I will be copying this down in my list of examples.  Note that
I made the point that Perl starts counting at zero not one.

-T


<code>
$ cat ./LoopIndexTest.pl6
#!/usr/bin/perl6

my @x = ( "a", "b", "c", "d" );

for @x.kv -> $index, $value {
   print "   Line no. <" ~ ($index + 1) ~
   "> has an index of <$index> and a value of <$value>\n"; }
</code>


$ ./LoopIndexTest.pl6
   Line no. <1> has an index of <0> and a value of <a>
   Line no. <2> has an index of <1> and a value of <b>
   Line no. <3> has an index of <2> and a value of <c>
   Line no. <4> has an index of <3> and a value of <d>

Reply via email to