Elm - Toma de decisiones
Las estructuras de toma de decisiones requieren que el programador especifique una o más condiciones para ser evaluadas o probadas por el programa, junto con una declaración o declaraciones que se ejecutarán si se determina que la condición es verdadera y, opcionalmente, otras declaraciones que se ejecutarán si el se determina que la condición es falsa.
A continuación se muestra la forma general de una estructura típica de toma de decisiones que se encuentra en la mayoría de los lenguajes de programación.
Una construcción de toma de decisiones evalúa una condición antes de que se ejecuten las instrucciones. Los constructos de toma de decisiones en Elm se clasifican de la siguiente manera:
No Señor. | Declaración | Descripción |
---|---|---|
1 | si ... entonces ... declaración else | La instrucción if consiste en una expresión booleana seguida de then, que se ejecuta si la expresión devuelve verdadero y de lo contrario, se ejecuta si la expresión devuelve falso |
2 | declaración if anidada | Puedes usar uno si ... entonces ... else dentro de otro si. |
3 | declaración de caso | Prueba el valor de una variable con una lista de valores. |
if ... then ... else Statement
los if…thenconstructo evalúa una condición antes de que se ejecute un bloque de código. Si la expresión booleana se evalúa como verdadera, entonces se ejecutará el bloque de código dentro de la declaración then. Si la expresión booleana se evalúa como falsa, se ejecutará el bloque de código dentro de la instrucción else.
A diferencia de otros lenguajes de programación, en Elm debemos proporcionar la rama else. De lo contrario, Elm arrojará un error.
Sintaxis
if boolean_expression then statement1_ifTrue else statement2_ifFalse
Ilustración
Pruebe el siguiente ejemplo en el terminal REPL.
> if 10>5 then "10 is bigger" else "10 is small"
"10 is bigger" : String
Anidado si
La instrucción if anidada es útil para probar varias condiciones. La sintaxis de una instrucción if anidada se da a continuación:
if boolean_expression1 then statement1_ifTrue else if boolean_expression2 then statement2_ifTrue else statement3_ifFalse
Ilustración
Pruebe el siguiente ejemplo en Elm REPL:
> score=80
80 : number
> if score>=80 then "Outstanding" else if score > = 70 then "good" else "average"
"Outstanding" : String
Declaración de caso
La declaración de caso se puede utilizar para simplificar la declaración if then else. La sintaxis de una declaración de caso es la siguiente:
case variable_name of
constant1 -> Return_some_value
constant2 -> Return_some_value
_ -> Return_some_value if none of the above values match
La declaración de caso comprueba si el valor de una variable coincide con un conjunto predefinido de constantes y devuelve el valor correspondiente. Tenga en cuenta que el valor devuelto por cada caso debe ser del mismo tipo. Si el valor de las variables no coincide con ninguna de las constantes dadas, el control se pasa a * predeterminado * (indicado por // _) y se devuelve el valor correspondiente.
Ilustración
Pruebe el siguiente ejemplo en Elm REPL:
> n = 10
10 : number
> case n of \
| 0 -> "n is Zero" \
| _ -> "n is not Zero"
"n is not Zero" : String
El fragmento de código anterior comprueba si el valor de n es cero. El control pasa al valor predeterminado, que devuelve la cadena "n no es cero".