我们是否有一些东西可以轻松地检测最后一次迭代,例如:
int num = 5
num.times {
if (**IS_LAST_ITERATION**) println 'finally'
}
找不到相关信息,但可能性看起来太明显了
it
或明确的论点持有柜台:
int num = 5
num.times{ if( num - 1 == it ) println 'finally' }
更新:
Groovy 的迭代方法不向闭包提供像
first
或 last
这样的参数,只提供迭代对象和索引。
对于您的特殊情况,您可以将处理分成 2 个块,并为最后一步提供自定义处理:
int num = 5
( num - 1 ).times{
doStuff()
}
// now the last iteration
doStuff()
println 'finally'