Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Recursie / Exercises / Omhoog tellen

Oplossing: Omhoog tellen

Hier is een mogelijke oplossing voor de taak.

Code

sub countup($n) {
    return if $n < 1;
    countup($n - 1);
    say $n;
}

countup(3);

🦋 Je kunt de broncode vinden in het bestand count-up.raku.

Uitvoer

1
2
3

Opmerkingen

  1. Het basisgeval return if $n < 1 stopt de recursie nog steeds zodra de telling voorbij nul komt.

  2. De volgorde van de laatste twee regels is wat het optellen mogelijk maakt: elke aanroep daalt eerst helemaal af tot het basisgeval en drukt pas daarna zijn eigen getal af, terwijl de aanroepen zich afwikkelen. Dus 1 wordt als eerste afgedrukt en $n als laatste.

Cursusnavigatie

Omhoog tellen   |   Driehoeksgetal