typestar

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

  1. El objeto condición recibe el mensaje de ramificación.
  2. Ambas ramas son bloques; corre la elegida.
  3. 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.

Escribe este fragmento

Paso 1 de 3 en Control de flujo; paso 7 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →