On Wed, Mar 16, 2005 at 01:48:27PM -0600, Rod Adams wrote:
: Larry Wall wrote:
: >Yes, and it distributes as any array return type declaration would.
: > 
: >
: Does this mean that we can define multiple slurpuy arrays (and 
: hashes?!?) in a parameter list, of different types, and Perl will sort 
: the arguments into the right slurpy for us? If so, how does this 
: interact with the answer about C<@CALLER::_>?

No, I just meant that

    Foo [EMAIL PROTECTED]

applies the Foo as the type of the elements of @array despite the
presence of the *.

: I'm not counting on it being ordered.  I'm testing to see if any of the 
: lists still has anything left in it. The left to right-ness of the 
: processing is done in the C<for>.

Oh, right--I'd better learn to read Perl 6 one of these days.  :-)

: My thought was that people might want to update the values stored 
: inside, as an homage to my common Perl 5 construct:
: 
:  for ($var1, $var2) {
:     s/.../.../;
:     s/.../.../;
:  }
: 
: 
: (and yes, I'm a bit chagrined that Perl6 is converting that lovely thing to:
: 
:  for $var1, $var2 -> $_ is rw {
:     s/.../.../;
:     s/.../.../;
:  }
: 
: though
: 
:  given $var1 {
:     s/.../.../;
:     s/.../.../;
:  }
: 
: is nice.
: 
: )

Well paint yourself unchagrined, because S04 sez:

    Parameters are by default constant within the block. You can
    declare a parameter read/write by including the "is rw" trait. If
    you rely on $_ as the implicit parameter to a block, then then $_
    is considered read/write by default. That is, the construct:

        for @foo {...}

    is actually short for:

        for @foo -> $_ is rw {...}

    so you can modify the current list element in that case. However,
    any time you specify the arguments, they default to read only.

Larry

Reply via email to