Cierre maravilloso: ¿qué está sucediendo en este código?
Frecuentes
Visto 136 veces
0
Como desarrollador groovy principiante, estoy tratando de entender las siguientes líneas de código groovy que he heredado:
maxCount = skillsDist.findAll {it.mValue.value >= 0 }.max { it.mValue.value }.mValue.value
minCount = skillsDist.findAll { it.mValue.value >= 0 }.min { it.mValue.value }.mValue.value
La skillsDist
objeto es una referencia a un objeto Java de tipo Set<CalculationResult>
. Cada CalculationResult
tiene un int
campo mValue
.
La parte con la que estoy luchando son los cierres después del máximo y el mínimo. Obviamente, supongo que encuentra los valores mínimo y máximo fuera del conjunto, pero necesito modificar esto y me siento incómodo al no entenderlo.
¡Gracias!
1 Respuestas
1
La findAll
iterador sobre el set
. Crea una nueva set
y agrega todos los elementos con un valor mayor o igual a 0. La operación max itera a través del subconjunto y busca el valor máximo.
Lo mismo en la segunda línea (espere que busque el valor mínimo).
contestado el 22 de mayo de 12 a las 18:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas groovy closures or haz tu propia pregunta.
¡Estupendo! ¡Gracias! Ahora veo que mi problema era no entender que la operación máxima estaba iterando. - Almiar