Bucles en Smalltalk
to:do:, timesRepeat:, whileTrue: — todos mensajes.
"Loops are messages too: to:do:, timesRepeat:, whileTrue:."
| impressions |
1 to: 3 do: [:run |
Transcript show: 'Proof run ', run printString; cr].
10 to: 4 by: -3 do: [:count |
Transcript show: count printString, ' sheets left'; cr].
3 timesRepeat: [Transcript show: 'pull the bar'; cr].
impressions := 0.
[impressions < 4] whileTrue: [impressions := impressions + 2].
Transcript show: 'Stopped at ', impressions printString; cr.
Cómo funciona
1 to: 3 do:cuenta a través de un bloque.by: -3da pasos hacia abajo por el rango.[cond] whileTrue: [cuerpo]envía whileTrue: a un bloque.
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 434
- Tokens
- 79
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 79 segundos.
Paso 2 de 3 en Control de flujo; paso 8 de 31 en Fundamentos del lenguaje.