David Green writes:
> On 8/19/04, [EMAIL PROTECTED] (David Green) wrote:
> > >On Aug 14, 2004, at 5:52 PM, Larry Wall wrote:
> >
> > >>    for all $*IN  # all() is junction
> > >>    for each $*IN # each method wants closure if we follow Ruby
> > >>    for next $*IN # next $foo is a loop exit
> [...]
> >"Each" and "every" are the obvious choices, but I wouldn't want to 
> >follow Ruby exactly: "each" has a definite connotation of 
> >"separately", "one at a time" that works in "for each $foo"; "every" 
> >works better for the overall method.
> 
> Hang on -- should we be saying "for each $foo" or "for $foo.each" 
> anyway?  We don't say "for @foo.each"; the iteration is implicit.  So 
> I'm thinking it should be "for $foo" or "while next $foo".

Well, C<for $foo> gives you a one-iteration loop.  But perhaps list
flatten could work on iterators:

    for *$foo { ... }

Which presumably is the same thing as:

    for @$foo { ... }

Which implies that iterators can behave as arrays.  Then you get to
weird questions like what:

    $foo[-1]

Does.  Iterate to the end and return that?  The array abstraction
doesn't work well for iterators, so perhaps that's not the best way to
go.

I'm personally a fan of "every" as well as renaming Ruby's "each" to
something else.

Luke

Reply via email to