Cursus Raku / Geavanceerd / Meer over ingebouwde types / Enumeraties
Waarden en sleutels
Elke enum-constante draagt zowel een naam als een getal. De methode
.value geeft het getal, en de methode .key
geeft de naam als een tekenreeks:
enum Colour <red green blue>;
say green.value; # 1
say green.key; # greenJe hoeft de automatische nummering vanaf nul niet te accepteren. Schrijf de constanten als paren om zelf de waarden te kiezen:
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Tue.value; # 2
say Fri.value; # 5Hier is de werkweek genummerd vanaf één in plaats van nul.
Het enum-type zelf kan al zijn constanten opsommen. De methode
.enums geeft een map van elke naam naar zijn waarde:
enum Colour <red green blue>;
say Colour.enums; # Map.new((blue => 2, green => 1, red => 0))
say Colour.enums.elems; # 3Met .value, .key en .enums kun
je vrij schakelen van een constante naar zijn getal, van een getal terug
naar gegevens, en over de hele verzameling — en dat is wat enums nuttig
maakt voor zaken als menu’s, toestanden en opzoektabellen.
Praktijk
Maak de 1 quiz over de inhoud van dit onderwerp.
Cursusnavigatie
← Quiz — Enumeraties | Quiz — Enumwaarden →
💪 Of ga direct naar de oefeningen in deze
sectie.