¿Qué función Scala reemplazar esta declaración de procedimiento?
-
30-10-2019 - |
Pregunta
AQUÍ Mindbloque aquí, pero no puedo entender cómo hacer esto menos feo:
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
}
¿Puedes ver lo que estoy haciendo? Tengo una lista de esferas, donde cada esfera tiene un método intersectray, que devuelve un doble.
Quiero tomar la esfera con el resultado más pequeño de esa función. Sé que hay una buena construcción funcional para dejarme hacer esto en una línea, simplemente no puedo verlo :(
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow