Cursus Raku / Addendum 🆕 / Verloop en functies / Subroutines en functionele stijl / Exercises / Beschrijven op type
Oplossing: Beschrijven op type
Hier is een mogelijke oplossing voor de taak.
Code
multi describe(Int $x) { "integer $x" }
multi describe(Str $x) { "string $x" }
multi describe(@x) { "list of {@x.elems}" }
say describe(42);
say describe('hi');
say describe([1, 2, 3]);🦋 Je kunt de broncode vinden in het bestand multi-describe.raku.
Uitvoer
integer 42
string hi
list of 3Opmerkingen
Elke
multigeeft één versie vandescribemet een ander parametertype. Raku kiest de passende kandidaat op grond van het type van het argument.De signatuur
@xmatcht een lijst, dus verwijst de array naar de derde kandidaat, die haar lengte meldt.