Groovy 闭包中的函数调用
Groovy function call in a closure
如何在 Groovy 的闭包中进行函数调用?目前正在尝试这样做,但它会导致使用最后一个数组元素的值进行所有迭代:
def branches = [:]
for (int i = 0; i < data.steps.size(); i++) {
branches["${data.steps.get(i).name}"] = {
myFunc(data.steps.get(i))
}
}
parallel branches
这应该有效:
def branches = data.steps.collectEntries { step ->
[step.name, { myFunc(step) }]
}
parallel branches
或者
def branches = data.steps.inject([:]) { map, step ->
map << [(step.name): { myFunc(step) }]
}
如何在 Groovy 的闭包中进行函数调用?目前正在尝试这样做,但它会导致使用最后一个数组元素的值进行所有迭代:
def branches = [:]
for (int i = 0; i < data.steps.size(); i++) {
branches["${data.steps.get(i).name}"] = {
myFunc(data.steps.get(i))
}
}
parallel branches
这应该有效:
def branches = data.steps.collectEntries { step ->
[step.name, { myFunc(step) }]
}
parallel branches
或者
def branches = data.steps.inject([:]) { map, step ->
map << [(step.name): { myFunc(step) }]
}