typestar

Collection-if y spread en Dart

Construye colecciones declarativamente, en el literal mismo.

void main() {
  const raining = true;
  final core = ['binoculars', 'notebook'];

  // Collection-if and spread build lists declaratively.
  final pack = [
    ...core,
    if (raining) 'lens cloth',
    for (var i = 1; i <= 2; i++) 'battery $i',
  ];
  print(pack);

  // The same forms work in maps and sets.
  final labels = {for (final item in core) item: item.length};
  print(labels);
}

Cómo funciona

  1. ...core desparrama una lista dentro de otra.
  2. if (raining) 'lens cloth' incluye un elemento por condición.
  3. for dentro del literal genera elementos; los maps hacen las tres.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
362
Tokens
94
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 3 de 3 en Colecciones; paso 12 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →