Существует ли пара% * SUB-MAIN-OPTS для обработки коротких опционов? - PullRequest
9 голосов
/ 17 мая 2019

Разбор командной строки multi sub MAIN() в Perl6 - это прекрасно!

Насколько я могу судить по интерфейсу командной строки документов, в динамическом хеше% * SUB-MAIN-OPTS поддерживается только одна опция для манипулирования обработкой опции (это :named-anywhere) .

Возможно, я упустил очевидное, но есть ли существующая / поддерживаемая опция для использования «старомодных» опций с одной чертой?

Например:

#Instead of this...
myprogram.p6 --alpha=value1 --beta==value2 --chi

#... short options like this
myprogram.p6 -a value1 -bvalue2 -c

Или это лучше всего обрабатывать вручную или с помощью внешнего модуля?

1 Ответ

9 голосов
/ 17 мая 2019

Вы можете подражать этому как есть, хотя вам все еще нужно = ala -a=foo, и технически иметь --a=foo в дополнение к --alpha и -a

sub MAIN(:a(:$alpha)!) {
    say $alpha;
}

... так что вы, вероятно, хотите использовать https://github.com/Leont/getopt-long6

use Getopt::Long;
get-options("alpha=a" => my $alpha);
...