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');| 1 | Hi, Bob |
| 0 | Bob |
| 0 | Hi, |
| 0 | Hi, 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.