现在我正在做的是:
//main.groovy
def func = shell.parse( new File('func.groovy') )
func.someMethod('sdfsdfsdfsdf')
//func.groovy
def someMethod(deploymentFolder) {
return deploymentFolder
}
我想把main.groovy中的代码片段变成一行程序,但这样做不起作用:
def func = shell.parse( new File('func.groovy') ).someMethod('sdfsdfsdf')
这也不管用:
def func = shell.parse( new File('func.groovy') ) someMethod('sdfsdfsdf')
有没有一种方法可以直接调用shell.parse返回的函数?
编辑
我打了对方付费电话这似乎改变了一些事情
所以这是行不通的:
list = arrList.collect { file ->
return shell.parse( new File(file) ).someMethod('sdfsdfsdf')
}
someMethod()返回一个arrayList. after collect虽然list看起来包含正确数量的嵌套列表,但它们都是null。
然而,这样做实际上是有效的:
myarr = []
list = arrList.collect { file ->
tempVar = shell.parse( new File(file) )
myarr += tempVar.someMethod('sdfsdfsdf')
}
我不确定有什么不同。我以为collect会做同样的事情。它看起来 * 几乎 * 做同样的事情,但是它连接的列表都是空的。
1条答案
按热度按时间cl25kdpy1#
你的第一次尝试是正确的,工作的怀疑: