Lamdbaj permite la definición de los cierres en el lenguaje Java, varios ejemplos se pueden encontrar heremecanismos de Java en uso en cierres lambdaj
Mi pregunta es con respecto a los mecanismos de Java subyacentes en el uso, por ejemplo, para definir el println
cierre, se utiliza el siguiente código:
Closure println = closure();
{ of(System.out).println(var(String.class)); }
Este cierre puede ser ejecutado posteriormente a través de:
println.apply("foobar");
Tengo curiosidad sobre qué mecanismos en Java permitirían que la llamada a of(...).println(...)
se asocie con la instancia println
.
Naturalmente, el código fuente de lambdaj está disponible para leer, pero esperaba una explicación de nivel ligeramente superior si alguien tiene una. Mis habilidades de reflexión llegan hasta un poco de introspección y ejecutan métodos dinámicamente.
Me estoy perdiendo la "cierre" poco? Veo un método levantado, pero eso es todo. : -/ –
En realidad, Lambdaj no admite cierres. Específicamente, no puede capturar variables del alcance adjunto. –