この手続き声明を置き換えるためにどのScala機能がありますか?
-
30-10-2019 - |
質問
ここでマインドブロックですが、これを醜くする方法を理解できません:
def getClosestSphere(ray: Ray, spheres: List[Sphere]): Sphere = {
val map = new HashMap[Double, Sphere]
for (sphere <- spheres) {
val intersectPoint = sphere.intersectRay(ray)
map.put(intersectPoint, sphere)
}
map.minBy(_._1)._2
}
私がしていることがわかりますか?私は球体のリストを持っています。各球体にはメソッドが交差する方法があり、ダブルを返します。
その関数の最小の結果で球体を取りたいです。私はこれを1行で実行させるための素晴らしい機能的な構造があることを知っています、私はそれを見ることができません:(
正しい解決策はありません
所属していません StackOverflow