Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^5: What's wrong with Perl 6?

by BrowserUk (Pope)
on May 14, 2007 at 09:41 UTC ( #615255=note: print w/replies, xml ) Need Help??

in reply to Re^4: What's wrong with Perl 6?
in thread What's wrong with Perl 6?

An almost complete aside from the purpose of this thread, but it comes as a direct result of seeing a little real-world(ish) Perl 6 code posted here.

I can see that pieces of code like this from above are likely to be quite common in Perl 6 class implementations:

($.name, $.rank, $.pref) = ($name, $rank, $cereal_pref);

Ie. The assignment of batches of named formal parameters to instance variables with the same (similar, the $.pref/$cereal_pref disparity not withstanding) names. And vice versa.

Is there any shorthand available for this kind of 'batch assignment' from method parameters to instance variables?

I was thinking along the lines of $.= ( $name, $rank, $pref );

and say $= ( $.name, $.rank, $.pref );

Is there any mileasge in that?

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^6: What's wrong with Perl 6?
by duff (Parson) on May 14, 2007 at 13:28 UTC

    IIRC, naming your method parameters as if they were instance variables accomplishes that trick:

    method foo($.name,$.rank,$.pref) { ... } # and then later ... $'Scott', 'Vicar', '???'); # sets the instance vars
    Though pulling out the auto-magic into something you can do directly is interesting.

    Check S12 in any case for the definitive answer.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://615255]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2021-01-17 00:50 GMT
Find Nodes?
    Voting Booth?