Recorrer con estilo en Smalltalk
do:separatedBy:, doWithIndex:, reverseDo:.
"do:separatedBy: puts the separator only between elements."
| stations |
stations := #('compose' 'lock up' 'ink' 'pull').
stations do: [:step | Transcript show: step]
separatedBy: [Transcript show: ' -> '].
Transcript cr.
"doWithIndex: numbers as it walks."
stations doWithIndex: [:step :i |
Transcript show: i printString, '. ', step; cr].
"reverseDo: walks from the far end."
stations reverseDo: [:step | Transcript show: step, ' '].
Transcript cr.
Cómo funciona
do:separatedBy:pone el separador solo entre elementos.doWithIndex:numera mientras camina.reverseDo:arranca desde el extremo lejano.
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 453
- Tokens
- 71
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 71 segundos.
Paso 4 de 4 en Enumeración; paso 17 de 31 en Fundamentos del lenguaje.