Awesome, thanks!
That is exactly what I was looking for.

On Tue, 11 Feb 2020 at 10:23, Kevin Pye <kevin....@gmail.com> wrote:

> The "workaround" is well documented:
> https://docs.raku.org/language/create-cli#%*SUB-MAIN-OPTS
>
> It's just a matter of setting named-anywhere option in the %*SUB-MAIN-OPTS
> hash, which you will also need to create. There's an example in that doc
> page.
>
> Kevin.
>
> On Tue, 11 Feb 2020 at 20:07, WFB <wolfgang.banas...@gmail.com> wrote:
>
>> Interesting stuff.
>> I would like to take the change and ask one question:
>> One thing, I had to get used to is the MAIN handling of parameters.
>> On the command line it is important to write then named parameter in
>> front of the positional ones:
>> MAIN('compile', :$verbose, :$test-only)
>> needs to write:
>> builder.raku --verbose compile
>> Its not possible to write
>> builder.raku compile --verbose.
>> That is not intuitive, at least for me because that breaks with the other
>> unix command line tools and is annoying if you have to change the script
>> call several times.
>>
>> Why is that so? And is there a workaround for that?
>> Thanks
>> Wolfgang
>>
>> On Mon, 10 Feb 2020 at 12:18, Timo Paulssen <t...@wakelift.de> wrote:
>>
>>> Hi Paul and Todd,
>>>
>>> just a little extra info: the limitation for nameds to come after
>>> positionals is only for declarations of signatures.
>>>
>>> Usage of subs/methods as well as capture literals (which you don't use
>>> often, i imagine, so feel free to disregard) allow you to mix nameds and
>>> positionals freely; it will handle named parameters that are put between
>>> positionals as if they were after the positional parameters.
>>>
>>> > sub abcdefg($b, $f, $g, :$a, :$c, :$e) { say $a, $b, $c, $e }
>>> &abcdefg
>>> > abcdefg(1, a => 5, 2, c => 99, 100, e => 1024)
>>> 51991024
>>>
>>> Most cases where I wanted named parameters early in the call was when
>>> there was something big in the call, for example if a sub takes a block and
>>> a few options, i prefer to put the options before the block, so they are
>>> visible at a glance rather than after scrolling. I suppose this mirrors how
>>> regex modifiers (like :ignorecase / :i, :global, etc) have been moved to
>>> the front of regexes.
>>>
>>> Hope that's interesting
>>>   - Timo
>>> On 10/02/2020 07:48, Paul Procacci wrote:
>>>
>>> Named parameters must come after all positional parameters.
>>> Your example subroutine is invalid for this reason, while the following
>>> would be fine:
>>>
>>> sub abcdefg( $b, $f, $g, :$a, :$c, :$e)
>>>
>>> abcdefg("position1", "position2", "position3", :e("named_e"),
>>> :a("named_a"), :c("named_c"));
>>>
>>>
>>>
>>> On Sun, Feb 9, 2020 at 6:24 PM ToddAndMargo via perl6-users <
>>> perl6-us...@perl.org> wrote:
>>>
>>>> On 2020-02-09 14:53, Paul Procacci wrote:
>>>> > subchdir(IO() $path, :$d=True, :$r, :$w, :$x-->IO::Path:D)
>>>>
>>>> Hi Paul,
>>>>
>>>> What I wanted to see is how something liek
>>>>
>>>> sub abcdefg( :$a, $b, :$c, :$e, $f, $g )
>>>>
>>>> would be called
>>>>
>>>> -T
>>>>
>>>
>>>
>>> --
>>> __________________
>>>
>>> :(){ :|:& };:
>>>
>>>

Reply via email to