gpt4 book ai didi

java - 没有破折号的 CliBuilder 参数

转载 作者:行者123 更新时间:2023-11-30 08:58:57 25 4
gpt4 key购买 nike

使用 Groovy CliBuilder,理想情况下我希望有一个 cmd-line 如下:

./MyProgram.groovy CommandName -arg1 -arg2 -arg3

是否可以使用 CliBuilder 将 CommandName 解析为参数?

最佳答案

如果设置属性 stopAtNonOption 就可以做到这一点为 false,以便解析不会在 CommandName 中停止。然后你可以从 CliBuilder 得到命令 options .下面是一个小例子:

def test(args) {
def cli = new CliBuilder(usage: 'testOptions.groovy [command] -r -u', stopAtNonOption: false)
cli.with {
r longOpt: 'reverse', 'Reverse command'
u longOpt: 'upper', 'Uppercase command'
}

def options = cli.parse(args)
def otherArguments = options.arguments()
def command = otherArguments ? otherArguments[0] : 'defaultCommand'

def result = command
if (options.r) {
result = result.reverse()
}

if (options.u) {
result = result.toUpperCase()
}

result
}

assert 'myCommand' == test(['myCommand'])
assert 'MYCOMMAND' == test(['myCommand', '-u'])
assert 'dnammoCym' == test(['myCommand', '-r'])
assert 'DNAMMOCYM' == test(['myCommand', '-r', '-u'])
assert 'defaultCommand' == test([])

关于java - 没有破折号的 CliBuilder 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435116/

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