【问题标题】:Is there a %*SUB-MAIN-OPTS pair for short option processing?是否有用于短期权处理的 %*SUB-MAIN-OPTS 对?
【发布时间】:2019-05-16 23:00:25
【问题描述】:

Perl6 中的multi sub MAIN() 命令行解析非常棒!

据我从 Command Line Interface 文档中得知,动态哈希 %*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

或者这最好是手动处理还是使用外部模块处理?

【问题讨论】:

    标签: command-line-arguments raku


    【解决方案1】:

    您可以按原样进行模拟,尽管您仍然需要一个 = ala -a=foo,并且在技术上除了 --alpha-a 之外仍然有 --a=foo

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

    ...所以你可能想使用https://github.com/Leont/getopt-long6

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

    【讨论】:

    • 我没有意识到我可以使用单个“-”而不是双。您的别名解决方案可以减少在命令行上输入的次数
    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多