首页 > 解决方案 > 如何在 MAIN 中要求 1 个或多个参数

问题描述

现在,我有一个MAIN可以接受一个或多个字符串参数的 sub。但我使用两个单独的参数MAIN来做到这一点:

sub MAIN (
    Str:D $file,
    *@files,
) {
    @files.prepend: $file;

    # Rest of the program
}

现在我想知道是否有更惯用的方法来实现这一点,因为我目前的解决方案感觉有点笨拙,而且不是很 Perly。

标签: raku

解决方案


你可以用proto sub

proto sub MAIN ( $, *@ ){*}

multi sub MAIN ( *@files ) {
    # Rest of the program
}

或与子签名分离

sub MAIN ( *@files ($,*@) ) {
    # Rest of the program
}

推荐阅读