Corso di Raku / Appendice 🆕 / Flusso e funzioni / Subroutine e stile funzionale / Exercises / Componete due funzioni
Soluzione: Componete due funzioni
Ecco una possibile soluzione del compito.
Codice
sub compose(&f, &g) {
return -> $x { f(g($x)) };
}
my $combined = compose(* * 2, * + 1);
say $combined(5);🦋 Trova il programma nel file compose.raku.
Output
12Commenti
I parametri
&fe&gaccettano qualunque cosa sia chiamabile — qui le funzioni Whatever* * 2e* + 1.composerestituisce una nuova funzione anonima-> $x { f(g($x)) }. Chiamarla su5esegue primag(5 + 1), poif(6 * 2), dando12.