Corso di Raku / Avanzato / Altro sui tipi predefiniti / Enumerazioni
Valori e chiavi
Ogni costante di un enum porta con se’ sia un nome che un numero. Il
metodo .value restituisce il numero, e il metodo
.key restituisce il nome come stringa:
enum Colour <red green blue>;
say green.value; # 1
say green.key; # greenNon e’ obbligatorio accettare la numerazione automatica a partire da zero. Si possono scrivere le costanti come coppie per scegliere i valori manualmente:
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Tue.value; # 2
say Fri.value; # 5Qui la settimana lavorativa e’ numerata a partire da uno invece che da zero.
Il tipo enum stesso puo’ elencare tutte le sue costanti. Il metodo
.enums restituisce una mappa da ogni nome al suo
valore:
enum Colour <red green blue>;
say Colour.enums; # Map.new((blue => 2, green => 1, red => 0))
say Colour.enums.elems; # 3Tra .value, .key e .enums, ci
si puo’ muovere liberamente da una costante al suo numero, da un numero
ai dati corrispondenti e sull’intero insieme, ed e’ questo che rende gli
enum utili per cose come menu, stati e tabelle di ricerca.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Quiz — Enumerazioni | Quiz — Valori enum →
💪 Oppure vai direttamente agli esercizi di questa
sezione.