'args'对CliBuilder意味着什么?

时间:2011-07-26 15:02:06

标签: scripting groovy

我是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是什么意思?

由于

1 个答案:

答案 0 :(得分:6)

This post here应该解释args参数的工作原理

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

println options.bs

那应该打印出来:

[10, 11]