“args” 是什么意思?意味着在 CliBuilder 上?

发布于 2024-11-26 03:16:07 字数 784 浏览 2 评论 0原文

我是 Groovy 的新手,我试图了解 CliBuilder 上 args 属性的含义。我不确定这是否意味着选项可以采用的最大参数数。

我有类似

import java.text.*

def test(args) {
def cli = new CliBuilder(usage: 'test.groovy brand instance')
    cli.with {
        h longOpt: 'help', 'Show usage information'
    }

    cli.b(argName:'brand', args: 1, required: true, 'brand name')
    cli.p(argName:'ports', args: 2, required: true, 'ports')

    def options = cli.parse(args)
    if (!options) {
           return
    }

    if (options.h) {
            cli.usage()
            return
    }

    println options.b
    println options.p

}

test(args)

当我调用脚本时我使用 groovy test.groovy -b toto -p 10 11

但我得到:

toto
10

我不应该为 -p 选项得到 10 11 吗?如果不是,args 是什么意思?

谢谢

I'm a newbie on Groovy and I'm trying to understand what's the meaning of args attribute on CliBuilder. I'm not sure if it means the max number of parameters that an option can take.

I have something like

import java.text.*

def test(args) {
def cli = new CliBuilder(usage: 'test.groovy brand instance')
    cli.with {
        h longOpt: 'help', 'Show usage information'
    }

    cli.b(argName:'brand', args: 1, required: true, 'brand name')
    cli.p(argName:'ports', args: 2, required: true, 'ports')

    def options = cli.parse(args)
    if (!options) {
           return
    }

    if (options.h) {
            cli.usage()
            return
    }

    println options.b
    println options.p

}

test(args)

When I call the script I use groovy test.groovy -b toto -p 10 11

But I get:

toto
10

Shouldn't I get 10 11 for the -p option? If not, what does args mean?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

待"谢繁草 2024-12-03 03:16:07

这篇文章应该解释 args 参数如何工作

基本上,您需要将复数 s 添加到 println 行,如下所示:

println options.bs

然后应该打印:

[10, 11]

This post here should explain how the args parameter works

Basically, you need to add a plural s to your println line like so:

println options.bs

That should then print:

[10, 11]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文