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
- Cada valor llama al constructor const:
low(0.4). final double metersviaja en cada valor.wadersFeedinges un getter por valor;.namese imprime solo.
Palabras clave y builtins usados aquí
boolconstdoublefinalforgetinthisvoid
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.
Paso 3 de 3 en Clases; paso 15 de 27 en Fundamentos del lenguaje.