Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Funciones de orden superior / Pasar subrutinas
Quiz — Pasar subrutinas
¿Qué imprime el programa siguiente?
sub negate($n) { -$n }
sub apply(&f, $x) {
f($x);
}
say apply(&negate, 7);| 1 | -7 |
| 0 | 7 |
| 0 | 0 |
| 0 | &negate |
Una subrutina con nombre se pasa con el sigilo &,
así que &negate entrega a apply la propia
subrutina en lugar de llamarla. Dentro, f(7) la ejecuta,
dando -7.