闭包可以当参数传入,所以定义闭包的时候跟定义一个变量一样,用def block={....}
def num=0
def myBlock={i,ni->println i+"-my-"+ni
num=num+i
}
def pick(n,aBlock,m,pickBlock){
for(i in 0..3){
pickBlock(m+i,n*i)
aBlock(i)
}
}
//pick(3,2,myBlock)
//pick(5,{i,ni->
// println i+"--"+ni
//})
println num
//pick(3,{println it*100},2,myBlock)
myBlock(1,2)