Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Funzioni di ordine superiore / Passare subroutine
Quiz — Passare subroutine
Cosa stampa il programma seguente?
sub negate($n) { -$n }
sub apply(&f, $x) {
f($x);
}
say apply(&negate, 7);| 1 | -7 |
| 0 | 7 |
| 0 | 0 |
| 0 | &negate |
Una subroutine con nome si passa con il sigillo &,
quindi &negate consegna ad apply la
subroutine stessa invece di chiamarla. All’interno, f(7) la
esegue, dando -7.