如何捕获传递给Groovy脚本的参数?

dja*_*fan 65 java groovy command-line-arguments command-line-parsing

我刚开始使用Groovy.我找不到任何关于如何处理Groovy脚本的参数的例子,所以我自己攻击了这个方法.必须有更好的方法来做到这一点?如果是这样,我正在寻找这种更好的方式,因为我可能忽视了这一点.

import groovy.lang.Binding;
Binding binding = new Binding();
int x = 1
for (a in this.args) {
  println("arg$x: " + a)
  binding.setProperty("arg$x", a);
  x=x+1
}
println binding.getProperty("arg1")
println binding.getProperty("arg2")
println binding.getProperty("arg3")
Run Code Online (Sandbox Code Playgroud)

dja*_*fan 98

抱歉提问.我只是想通了:

println args[0]
println args[1]
println args[2]
Run Code Online (Sandbox Code Playgroud)

  • @MichalBernhard在这里是一个副本:https://web.archive.org/web/20150317165438/http://groovy.codehaus.org/Groovy+CLI (2认同)

xls*_*son 33

如果你想要更高级的解析而不仅仅是获取参数,你可以使用Groovy CliBuilder来帮助你.它可以帮助您使用命令行标志,可选参数和打印使用说明.

结账CliBuilder的Javadoc或MrHakis 发布了相关信息.


小智 16

最简单的只是this.args用作数组,例如:

test.groovy

println this.args[0]
Run Code Online (Sandbox Code Playgroud)

呼叫:

C:>groovy test this
Run Code Online (Sandbox Code Playgroud)

输出:

this
Run Code Online (Sandbox Code Playgroud)


小智 6

试试这个:

args.each{println it}
Run Code Online (Sandbox Code Playgroud)