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
07
00
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.

Pasar subrutinas   |   Devolver subrutinas