2011-07-26 52 views
5

我是Groovy的新手,我試圖理解CliBuilder上args屬性的含義。我不確定它是否意味着選項可以採用的最大參數數量。'args'在CliBuilder上的含義是什麼?

我有類似

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 

我不應該得到10 11 -p選項?如果不是,args是什麼意思?

感謝

回答

6

This post here應該解釋args參數是如何工作的

基本上,你需要一個多s添加到您的println行,像這樣:

println options.bs 

應該然後打印:

[10, 11]