我想知道如何在groovy中从n元素开始一个数组。
看一下片段:
static void main(args){
if (args.length < 2){
println "Not enough parameters"
return;
}
def tools = new BoTools(args[0])
def action = args[1]
tools."$action"(*args)
System.exit(1)
}
正如您所看到的,这里是一个动态方法调用。前两个参数被视为一些配置和方法名称,其他我想用作方法参数。 那我怎么能这样做:
tools."$action"(*(args+2))
编辑:如果不能在原生的常规Java语法中做到这一点:
def newArgs = Arrays.copyOfRange(args,2,args.length);
tools."$action"(*newArgs)
答案 0 :(得分:3)
要从args
的开头删除项目,您可以使用drop()
方法。原始的args列表没有改变:
tools."$action"(*args.drop(2))
其他选项,就像您尝试的那样是从N元素访问:
tools."$action"(*args[2..-1])