typestar

Enums mejorados en Dart

Los enums de Dart son clases: campos, constructores, miembros.

// Dart enums are classes: fields, constructors, and members.
enum Tide {
  low(0.4),
  mid(1.1),
  high(2.3);

  final double meters;
  const Tide(this.meters);

  bool get wadersFeeding => this != Tide.high;
}

void main() {
  for (final tide in Tide.values) {
    print('${tide.name}: ${tide.meters} m, '
        'waders ${tide.wadersFeeding ? 'feeding' : 'roosting'}');
  }
}

Cómo funciona

  1. Cada valor llama al constructor const: low(0.4).
  2. final double meters viaja en cada valor.
  3. wadersFeeding es un getter por valor; .name se imprime solo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
351
Tokens
95
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 88 segundos.

Escribe este fragmento

Paso 3 de 3 en Clases; paso 15 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →