Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Funciones de orden superior / Devolver subrutinas

Quiz — Funciones de orden superior

¿Qué imprime el programa siguiente?

sub prefixer($p) {
    sub ($s) { $p ~ $s };
}

my &hi = prefixer('Hi, ');
say hi('Bob');
1Hi, Bob
0Bob
0Hi,
0Hi, Hi,

prefixer('Hi, ') devuelve una subrutina que recuerda el prefijo y lo antepone a lo que le den. Guardada en &hi y llamada con 'Bob', devuelve Hi, Bob: una subrutina devuelta funciona igual de bien con cadenas que con números.

Devolver subrutinas   |   Aplique dos veces