【发布时间】:2015-11-27 10:20:27
【问题描述】:
我知道我们不能像.find{} 闭包那样从常规的.each{} 闭包返回。我仍然很好奇为什么下面的代码只执行.find{} 的第一次迭代。
def findlist = [1,2,3,4,5]
def eachlist = [7,6,5]
findlist.find
{
int findelem = it
println "findelem : " + findelem
eachlist.each
{
int eachelem = it
println "eachelem : " + eachelem
if(it == findelem)
{
return true
}
return false
}
}
打印出来:
findelem : 1
eachelem : 7
eachelem : 6
eachelem : 5
为什么find{} 在第一次迭代后退出?
PS:我知道这段代码可能没有任何实际意义,只是对常规行为感到好奇。
【问题讨论】:
标签: groovy