0

如果满足特定条件,我将如何打破循环?

我的输入文件大约有 n 行。如果在第 m 行获得所需的信息,我需要中断循环而不是读取剩余的行。

new File("test.txt").readLines().reverseEach{line ->
   println line

   if(line.contains("Data"))
   break;
 }  
4

2 回答 2

3

你可以find用来做这个。Find 在闭包第一次返回时结束循环true并返回最后找到的元素。

这个

(1..20).find{
    println it
    it == 5
}

将是 groovy 控制台中的以下内容。

1
2
3
4
5
Result: 5
于 2013-02-18T07:10:47.997 回答
0

你不能只是打破封闭。您可以抛出异常并退出它,或者根本不使用闭包。读取数组/列表中的所有行并遍历它。

于 2013-02-18T06:16:38.943 回答