Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Recursión / Una subrutina recursiva

Quiz — Recursión

¿Qué imprime el programa siguiente?

sub sum($n) {
    $n <= 0 ?? 0 !! $n + sum($n - 1);
}

say sum(4);
04
110
024
00

sum(4) es 4 + sum(3), que se desenrolla en 4 + 3 + 2 + 1, es decir 10. La recursión se detiene en el caso base, cuando $n llega a 0.

Una subrutina recursiva   |   El caso base