这是我的问题的简化版本,我想在 a.size == 7 的折叠中满足 if 条件后停止折叠返回值。
class test1 {
def test(a : List[Int]): Int = {
val list = a.foldLeft(if(a.size == 7) 1000 else 0)((b,a) => a + b )
list
}
}
object test1 extends App{
val temp1 = new test1()
val list: List[Int] = List(1,2,3,4,5,6,7)
println(temp1.test(list))
}
如您所见,条件在第一次折叠时得到满足,但在某些情况下,它可以在第二次或第一次得到满足。不知道从哪里可以得到任何帮助,不胜感激