typestar

select y collect en Smalltalk

Conservar, transformar, encontrar: el trío de colecciones.

"select keeps, collect transforms, detect finds the first."
| runs longRuns doubled |
runs := #(120 340 85 500 210).

longRuns := runs select: [:n | n > 150].
Transcript show: 'Long runs: ', longRuns printString; cr.

doubled := runs collect: [:n | n * 2].
Transcript show: 'Reprints: ', doubled printString; cr.

Transcript show: (runs detect: [:n | n > 400]) printString; cr.
Transcript show: (runs detect: [:n | n > 900] ifNone: [0])
    printString; cr.
Transcript show: (runs reject: [:n | n < 200]) printString; cr.

Cómo funciona

  1. select: conserva lo que el bloque aprueba.
  2. collect: mapea cada elemento a una colección nueva.
  3. detect:ifNone: halla el primero o cae al respaldo.

El intento, en números

Líneas
14
Caracteres a escribir
517
Tokens
116
Ritmo de tres estrellas
55 tpm

Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 127 segundos.

Escribe este fragmento

Paso 1 de 4 en Enumeración; paso 14 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →