Curso de Raku / Avanzado / Más sobre los tipos integrados / Enumeraciones
Valores y claves
Cada constante de un enum lleva tanto un nombre como un número. El
método .value devuelve el número, y el método
.key devuelve el nombre como cadena de texto:
enum Colour <red green blue>;
say green.value; # 1
say green.key; # greenNo tienes que aceptar la numeración automática desde cero. Escribe las constantes como pares para elegir los valores tú mismo:
enum Day (Mon => 1, Tue => 2, Wed => 3, Thu => 4, Fri => 5);
say Tue.value; # 2
say Fri.value; # 5Aquí la semana laboral está numerada desde uno en lugar de cero.
El tipo enum en sí puede listar todas sus constantes. El método
.enums devuelve un mapa de cada nombre a su valor:
enum Colour <red green blue>;
say Colour.enums; # Map.new((blue => 2, green => 1, red => 0))
say Colour.enums.elems; # 3Entre .value, .key y .enums,
puedes moverte libremente de una constante a su número, de un número de
vuelta a los datos, y por todo el conjunto, lo cual es lo que hace que
los enums sean útiles para cosas como menús, estados y tablas de
búsqueda.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Quiz — Enumeraciones | Quiz — Valores de enum →
💪 O ve directamente a los ejercicios de esta
sección.