gpt4 book ai didi

Groovy CliBuilder 多个不带逗号的参数

转载 作者:行者123 更新时间:2023-12-02 03:31:30 25 4
gpt4 key购买 nike

使用 Groovy 的 CliBuilder可以提供多个参数,例如这里:

来自以上链接的示例:

def cli = new CliBuilder(  
usage: 'findClassesInJars.groovy -d <root_directories> -s <strings_to_search_for>',
header: '\nAvailable options (use -h for help):\n',
footer: '\nInformation provided via above options is used to generate printed string.\n')
import org.apache.commons.cli.Option
cli.with
{
h(longOpt: 'help', 'Help', args: 0, required: false)
d(longOpt: 'directories', 'Two arguments, separated by a comma', args: Option.UNLIMITED_VALUES, valueSeparator: ',', required: true)
s(longOpt: 'strings', 'Strings (class names) to search for in JARs', args: Option.UNLIMITED_VALUES, valueSeparator: ',', required: true)
}

但是,这意味着必须像这样调用脚本:

groovy script.groovy -d folder1,folder2,folder3

而不是更常见的(至少在 Unix 世界中):

groovy script.groovy -d folder1 -d folder2 -d folder3

有没有办法让它像第二个例子那样工作?

最佳答案

是的,将字母“s”附加到参数名称。按照惯例,这将返回一个 ArrayList,您可以循环访问它以访问所有值。

println "The first directory value: ${option.d}"
println "The directories as a list ${option.ds}"
options.ds.each{ it->
println "directory: ${it}"
}

关于Groovy CliBuilder 多个不带逗号的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475377/

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