找到最小的内部for-comprehention?

Jis*_*air 1 scala

我有两个包含GPS坐标的列表,我想找到这两个列表中坐标之间的最短距离.现在我迭代了列表并将每个距离存储到另一个列表中,如下所示:

val distanceList = for {
        c1 <- cordinatesList1
        c2 <- cordinatesList2
        distace = calculateDistances(c1, c2)

    } yield distance
Run Code Online (Sandbox Code Playgroud)

现在我可以从中获得最小值distanceList,但是无论如何在for-comprehension没有存储所有距离的情况下找到最小值?

jwv*_*wvh 5

它不能在内部完成,for但可以在外部完成,如果评估是懒惰的,则不会保存中间结果.

(for {
  c1 <- cordinatesList1.toStream
  c2 <- cordinatesList2
} yield calculateDistances(c1,c2)).min
Run Code Online (Sandbox Code Playgroud)