gpt4 book ai didi

syntax - MAIN 中无法访问的命令行选项

转载 作者:行者123 更新时间:2023-12-04 12:16:04 26 4
gpt4 key购买 nike

zef search包括 :$update作为命名参数:

 multi MAIN('search', Int :$wrap = False, :$update, *@terms ($, *@))

但是,它不被认可为:
% zef search --update
Usage:
/home/jmerelo/.rakudobrew/bin/../moar-2019.03.1/install/share/perl6/site/bin/zef [--wrap=<Int>] search [<terms> ...] -- Get a list of possible distribution candidates for the given terms
/home/jmerelo/.rakudobrew/bin/../moar-2019.03.1/install/share/perl6/site/bin/zef [--version] -- Detailed version information
/home/jmerelo/.rakudobrew/bin/../moar-2019.03.1/install/share/perl6/site/bin/zef [-h|--help]

我在这里缺少什么?我怎么能给这个值赋值 $update ?

最佳答案

如果我运行这个 MAIN候选人本身,它的工作原理:

$ perl6 -e 'multi MAIN("search", Int :$wrap = False, :$update, *@terms ($, *@)) { say "foo" }' search --update
foo

所以在我看来,匹配的候选人不止一个,这会导致出现 USAGE 反馈消息。

命名参数仅用作决胜局,除非它们是强制性的(这使得它们有效地成为调度过程的一部分)。所以也许解决办法是让两个候选人:
multi MAIN('search', Int :$wrap = False, :$update!, *@terms ($, *@)) { ... }
multi MAIN('search', Int :$wrap = False, *@terms ($, *@)) { ... }

?

关于syntax - MAIN 中无法访问的命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55990282/

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