typestar

Arreglos e intervalos en Smalltalk

Arreglos literales con #(), rangos perezosos con to:.

"Literal arrays with #(), intervals with to:, both collections."
| picas evens |
picas := #(6 12 18 24 30).
Transcript show: picas first printString, ' to ',
    picas last printString; cr.

"An Interval is a lazy range that answers like a collection."
evens := (2 to: 12 by: 2).
Transcript show: evens asArray printString; cr.
Transcript show: (evens includes: 8) printString; cr.

"with:do: walks two collections in step."
#('title' 'body' 'folio') with: #(24 10 8) do: [:part :size |
    Transcript show: part, ' at ', size printString, 'pt'; cr].

Cómo funciona

  1. #(6 12 18) es un arreglo literal de números.
  2. (2 to: 12 by: 2) responde como colección sin serlo.
  3. with:do: recorre dos colecciones al mismo paso.

El intento, en números

Líneas
14
Caracteres a escribir
542
Tokens
91
Ritmo de tres estrellas
60 tpm

Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 91 segundos.

Escribe este fragmento

Paso 4 de 4 en Colecciones; paso 13 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →