Condicionales en Smalltalk
No hay if: los booleanos reciben mensajes ifTrue:ifFalse:.
"No if statement: booleans take ifTrue:ifFalse: messages."
| paperLeft job |
paperLeft := 42.
paperLeft > 100
ifTrue: [Transcript show: 'Run the full edition'; cr]
ifFalse: [Transcript show: 'Proofs only today'; cr].
"The whole thing is an expression that answers a value."
job := paperLeft > 40
ifTrue: ['chapbook']
ifFalse: ['bookmark'].
Transcript show: 'Next up: ', job; cr.
(paperLeft between: 40 and: 50)
ifTrue: [Transcript show: 'Order more stock'; cr].
Cómo funciona
- El objeto condición recibe el mensaje de ramificación.
- Ambas ramas son bloques; corre la elegida.
- El envío completo es una expresión que responde un valor.
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 464
- Tokens
- 67
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 67 segundos.
Paso 1 de 3 en Control de flujo; paso 7 de 31 en Fundamentos del lenguaje.