Crear un enum en Dart

Tiempo de lectura: 2 minutos

En Dart, puedes crear un enum (enumeración) para definir un conjunto de valores constantes relacionados. Un enum es útil cuando quieres representar un grupo fijo de opciones.

Foto ciruelas sobre una mesa - Pexels

Aquí te muestro cómo hacerlo:

Definición de un Enum

Para definir un enum, usa la palabra clave enum seguida del nombre del enum y una lista de sus valores entre llaves:

enum DiaDeLaSemana {
  lunes,
  martes,
  miercoles,
  jueves,
  viernes,
  sabado,
  domingo
}

Uso de un Enum

Una vez que has definido un enum, puedes usarlo en tu código de diferentes maneras. Aquí hay algunos ejemplos:

Asignar un Valor de Enum a una Variable

DiaDeLaSemana hoy = DiaDeLaSemana.lunes;

Comparar Valores de Enum

if (hoy == DiaDeLaSemana.lunes) {
  print('Hoy es lunes');
}

Iterar Sobre los Valores de un Enum

Puedes obtener todos los valores de un enum usando la propiedad values y luego iterar sobre ellos.

for (var dia in DiaDeLaSemana.values) {
  print(dia);
}

Convertir un Enum a una Cadena de Texto

El método toString puede ser utilizado para convertir un valor de enum en una cadena de texto.

print(DiaDeLaSemana.lunes.toString()); // Output: DiaDeLaSemana.lunes

Si quieres obtener solo el nombre del enum sin el prefijo DiaDeLaSemana., puedes hacer algo así:

print(DiaDeLaSemana.lunes.toString().split('.').last); // Output: lunes

Ejemplo Completo

Aquí tienes un ejemplo completo que incluye la definición de un enum, asignación de valores, comparación, iteración y conversión a cadena:

void main() {
  // Definir el enum
  enum DiaDeLaSemana {
    lunes,
    martes,
    miercoles,
    jueves,
    viernes,
    sabado,
    domingo
  }

  // Asignar un valor de enum a una variable
  DiaDeLaSemana hoy = DiaDeLaSemana.martes;

  // Comparar valores de enum
  if (hoy == DiaDeLaSemana.martes) {
    print('Hoy es martes');
  }

  // Iterar sobre los valores del enum
  print('Días de la semana:');
  for (var dia in DiaDeLaSemana.values) {
    print(dia);
  }

  // Convertir un enum a una cadena de texto
  print('Hoy es: ${hoy.toString().split('.').last}'); // Output: Hoy es: martes
}

Deja un comentario