Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Recursie / Recursie met multi-subroutines

Quiz — Recursie met multi-subroutines

Gegeven multi fact(0) { 1 } en multi fact($n) { $n * fact($n - 1) }, welke rol speelt de kandidaat multi fact(0)?

1Het is het basisgeval — de kandidaat die de dispatch kiest wanneer het argument 0 is
0Hij stelt een standaardwaarde in die voor elk argument teruggegeven wordt
0Hij draait bij elke aanroep als eerste, vóór de andere kandidaat
0Het is verplichte syntaxis die Raku tijdens het draaien negeert

De literal 0 in de signatuur laat die kandidaat alleen matchen wanneer het argument precies 0 is. Het is het basisgeval uitgedrukt als een eigen subroutine: zolang het argument groter is, blijft de dispatch multi fact($n) kiezen, en zodra de recursie 0 bereikt schakelt ze naar multi fact(0) en stopt ze.

Cursusnavigatie

Recursie met multi-subroutines   |   Macht