gpt4 book ai didi

raku - 重载包函数以检测未使用任何参数

转载 作者:行者123 更新时间:2023-12-03 18:33:57 25 4
gpt4 key购买 nike

我试图重载一个函数来检测没有传递参数:

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定义一切都会顺利进行。知道如何解决吗?

最佳答案

签名:(Bool :V(:$version))不接受任何参数,因为参数 version是可选的,比签名:()更具体.你可以提出论点 version强制的

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

关于raku - 重载包函数以检测未使用任何参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62028858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com