On Tue, Apr 17, 2007 at 07:34:38PM -0400, Joe Gottman wrote:
: [EMAIL PROTECTED] wrote:
: >+
: >+The value of the conditional expression may be optionally bound to
: >+a closure parameter:
: >+
: >+    if    testa() -> $a { say $a }
: >+    elsif testb() -> $b { say $b }
: >+    else          -> $b { say $b }
: >  
: I'd prefer it if the result of a test in an if or elsif were usable in 
: all subsequent elsif or else statements in the same if .. elsif .. else 
: clause, so you could do something like
: 
:   if testa() -> $a {say "$a  is true"}
:   elsif testb() -> $b say {"$a is false and $b is true"}
:   else                      say {"Neither $a nor $b is true"}

Sorry, that sort of P5ish chicanery with implicitly propagated scopes
violates the simplified rules of scoping in P6.  If you really want
that, you'll have to say:

    if my $a = testa()    { say "$a  is true"}
    elsif my $b = testb() { say "$a is false and $b is true"}
    else                  { say "Neither $a nor $b is true"}

and live with the fact that $a and $b are also visible after the construct.

Larry

Reply via email to