Cascadas en Smalltalk
Un receptor, muchos mensajes: el punto y coma.
"A cascade sends several messages to one receiver: the semicolon."
| tray |
tray := OrderedCollection new.
tray add: 'em quad'; add: 'en quad'; add: 'thin space'.
Transcript
show: 'Tray holds ';
show: tray size printString;
show: ' sorts';
cr.
"yourself answers the receiver, not the last message's result."
tray := (OrderedCollection new add: 'ampersand'; yourself).
Transcript show: tray first; cr.
Cómo funciona
add: ...; add: ...envía cada add a la misma colección.- Una cascada sobre Transcript arma la línea por partes.
yourselfresponde el receptor en vez del retorno de add.
Palabras clave y builtins usados aquí
new
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 402
- Tokens
- 56
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 56 segundos.
Paso 1 de 3 en Mensajes y bloques; paso 4 de 31 en Fundamentos del lenguaje.