"Christopher J. Madsen" <[EMAIL PROTECTED]> writes:
> Jonathan Scott Duff writes:
> > Excellent summary of why an explicit index is a Good Thing as compared
> > to the programmer doing it himself. I think the syntax would need to
> > be different though, how do you use implicit $_ and an index? (Don't
> > Do That is not an answer because people will want it) Here are some
> > ideas:
> >
> > # Gosh, let's overuse : like python! ;-)
> > for $item:$index (@array) { ... }
> > for :$index (@array) { ... } # $_ and counter
> >
> > for (@array : index($index)) { ... }
> >
> > for (@array) $index { ... }
>
> I would say you can't use implicit $_ with an index; you use explicit
> $_ instead.
>
> foreach $_ $index (@array) { ... }
Others have commented on how easy is it to get this wrong. May I
propose an alternate syntax? Instead of trying to hack C<for> loops
to do what you want, extend C<each> to iterate over arrays in-order.
Then the examples become:
while (($index,$item) = each @array) { ... }
Actually, this suggests that C<values @array> should return
C<(@array)> (a copy of the values), and C<keys @array> the list
C<(0..$#array)>. But those aren't very useful.
[...]
--
Ariel Scolnicov |"GCAAGAATTGAACTGTAG" | [EMAIL PROTECTED]
Compugen Ltd. |Tel: +972-2-6795059 (Jerusalem) \ We recycle all our Hz
72 Pinhas Rosen St. |Tel: +972-3-7658514 (Main office)`---------------------
Tel-Aviv 69512, ISRAEL |Fax: +972-3-7658555 http://3w.compugen.co.il/~ariels