Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Ricorsione / Exercises / Contare all’insù
Soluzione: Contare all’insù
Ecco una possibile soluzione del compito.
Codice
sub countup($n) {
return if $n < 1;
countup($n - 1);
say $n;
}
countup(3);🦋 Trova il programma nel file count-up.raku.
Output
1
2
3Commenti
Il caso base
return if $n < 1ferma comunque la ricorsione una volta che il conteggio scende sotto zero.È l’ordine delle ultime due righe a far contare all’insù: ogni chiamata ricorre prima fino in fondo al caso base, e solo dopo stampa il proprio numero mentre le chiamate si srotolano. Così
1viene stampato per primo e$nper ultimo.