Promesas I: ¿Qué es una clausura?
Las clausuras son funciones que recuerdan sus entornos léxicos. Un entorno léxico es el entorno en el que se declaró la función.
static java.util.function.Supplier<String> parent(String value) {
return () -> value; // La clausura devuelta recuerda value.
}
java.util.function.Supplier<String> remember = parent("remembers me");
// Puede parecer que value desaparece después de que parent retorna, pero no es así.
remember.get(); // "remembers me"- Corrige la función
greetingMaker()para que devuelva una función que recuerde su saludo. - Cuando la función devuelta recibe un nombre, debe devolver
"salutation, name".
Ejemplo
java.util.function.Function<String, String> greeting = Program.greetingMaker("Hello");
greeting.apply("James"); // "Hello, James"Notas
Consulta la pestaña Recursos para obtener más información sobre las clausuras.