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
#(6 12 18)es un arreglo literal de números.(2 to: 12 by: 2)responde como colección sin serlo.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.
Paso 4 de 4 en Colecciones; paso 13 de 31 en Fundamentos del lenguaje.