Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Lambdas y clausuras / Clausuras
Quiz — Clausuras
¿Qué imprime el programa siguiente?
sub make-acc {
my $total = 0;
return sub ($x) { $total += $x };
}
my &add = make-acc;
add(10);
add(20);
say add(5);| 0 | 5 |
| 0 | 30 |
| 1 | 35 |
| 0 | 0 |
La subrutina devuelta se cierra sobre $total, así que
las tres llamadas comparten la misma variable. Las dos primeras la
llevan a 30; la tercera suma 5 e imprime el
total acumulado, 35.
Navegación del curso
← Clausuras | Un contador →