7

引数が渡されていないことを検出するために関数をオーバーロードしようとしています:

package Documentable::CLI {

        sub RUN-MAIN(|c) is export {
            my %*SUB-MAIN-OPTS = :named-anywhere;
            CORE::<&RUN-MAIN>(|c)
        }

        our proto MAIN(|) is export { * }

        multi MAIN (
            Bool :V(:$version)
        ) {}

        multi MAIN () {
            say 'Execute "documentable --help" for more information'
        }

    }

    # no output
    Documentable::CLI::MAIN();

使おうとしてmulti main (*@args) {}もうまくいきません。ただし、最初の定義を削除すると、multi MAINすべてがスムーズに機能します。それを解決する方法はありますか?

4

1 に答える 1