Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: (Perl6) Signatures

by moritz (Cardinal)
on Aug 08, 2017 at 13:54 UTC ( #1196989=note: print w/replies, xml ) Need Help??

in reply to (Perl6) Signatures

Could this call also be written as
doctor( prop => "cricket bat" , number => 5)


Regarding internal names: The proper way to write it is

sub f(:prop($internal)) { ... }

If want an alias, you can put another colon before the dollor:

sub f(:prop(:$alias)) { ... }

Easy rule: the dollar goes on the variable, the colon before a public name.

Re default values: correct.

BTW positional arguments are by default mandatory and become optional when a default value is provided. But named arguments are by default optional, why not the same trick?

I wasn't there for the decision, so I can only speculate, but maybe it's in analogy to options for command-line applications, which tend to be optional by default as well.

apparently means something like sub { $_ % 2 } . why two %% and is it possible to use a more familiar P5 syntax here? like where {$x % 2} ?

%% is the "divisible by" operator. You could write it as { $_ %% 2 } or { $_ % 2 == 0 } instead.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1196989]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2018-07-16 22:40 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (352 votes). Check out past polls.