Bloques en Smalltalk
Código entre corchetes, un valor hasta recibir value.
"A block is code in brackets, a value until sent value."
| inkCost quote |
inkCost := [:pages | pages * 3].
Transcript show: (inkCost value: 16) printString, ' ml of ink'; cr.
"Blocks close over their surroundings."
quote := 'set solid'.
[Transcript show: 'The foreman says: ', quote; cr] value.
"Zero, one, and two-argument blocks."
[Transcript show: 'wash the rollers'; cr] value.
[:a :b | Transcript show: (a max: b) printString; cr]
value: 12 value: 18.
Cómo funciona
[:pages | pages * 3]es un bloque de un argumento.- Los bloques encierran las temporales de alrededor.
value,value:yvalue:value:los corren según aridad.
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 459
- Tokens
- 76
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 76 segundos.
Paso 2 de 3 en Mensajes y bloques; paso 5 de 31 en Fundamentos del lenguaje.