typestar

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. 1 to: 3 do: cuenta a través de un bloque.
  2. by: -3 da pasos hacia abajo por el rango.
  3. [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.

Escribe este fragmento

Paso 2 de 3 en Control de flujo; paso 8 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →