Raku-Kurs / Fortgeschritten / Mehr über eingebaute Typen / Aufzählungen
Werte und Schlüssel
Jede Enum-Konstante trägt sowohl einen Namen als auch eine Zahl. Die
Methode .value gibt die Zahl zurück, und die Methode
.key gibt den Namen als String zurück:
enum Colour <red green blue>;
say green.value; # 1
say green.key; # greenDu musst die automatische Nummerierung ab Null nicht akzeptieren. Schreibe die Konstanten als Paare, um die Werte selbst zu wählen:
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Tue.value; # 2
say Fri.value; # 5Hier ist die Arbeitswoche ab eins statt ab Null nummeriert.
Der Enum-Typ selbst kann alle seine Konstanten auflisten. Die Methode
.enums gibt eine Map von jedem Namen zu seinem Wert
zurück:
enum Colour <red green blue>;
say Colour.enums; # Map.new((blue => 2, green => 1, red => 0))
say Colour.enums.elems; # 3Mit .value, .key und .enums
kannst du frei von einer Konstante zu ihrer Zahl wechseln, von einer
Zahl zurück zu Daten, und über die gesamte Menge iterieren — und genau
das macht Enums nützlich für Dinge wie Menüs, Zustände und
Nachschlagetabellen.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Quiz — Aufzählungen | Quiz — Enum-Werte →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.