如果满足特定条件,我将如何打破循环?
我的输入文件大约有n行。如果在第m行获得所需信息,我需要打破循环而不是读取剩余的行。
new File("test.txt").readLines().reverseEach{line ->
println line
if(line.contains("Data"))
break;
}
答案 0 :(得分:3)
您可以使用find
执行此操作。在闭包第一次返回true
时,查找结束循环并返回最后找到的元素。
此
(1..20).find{
println it
it == 5
}
在groovy控制台中会出现以下内容。
1
2
3
4
5
Result: 5
答案 1 :(得分:0)
你不能只是打破封闭。您可以抛出异常并退出它,也可以根本不使用闭包。读取数组/列表中的所有行并迭代它。