On Thu, Jun 22, 2017 at 1:51 AM, Todd Chester <toddandma...@zoho.com> wrote:
> You want named parameters. >> >> sub MAIN(:$fixed-string, :$extended-regex, ...) { >> # $fixed-string and $extended-regex are Bools here, >> # True if the corresponding option specified >> } >> >> You should recognize this as being similar to named parameters work for >> normal Perl 6 functions, but MAIN exposes them to the command line like >> GNUish long options. >> >> > What does the ":" do? and does it give you back the > value associated with it, if there is one? I guess that means you did not recognize colon-pair syntax for named parameters. https://docs.perl6.org/language/terms#Pair see at the end for their use as named parameters. Since I assume I'm going to have to read that link for someone on the list anyway: :name(value) :name<value> :name :!name :$name are all colon-pairs. When used as parameters, they indicate named (as opposed to positional) parameters. The first form allows you to associate any variable name with the parameter name, optionally with a type. The second form is always a String (and any of the bracketing String forms can be used, e.g. :foo<<bar>> --- but *not* :foo"bar"; that would need to use the first form). The final three are always Bools; the last one takes the parameter name from the variable name. -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net