if ... elsif ... else ... endif Declaraciones
La declaración if
Un if declaración consta de una expresión booleana seguida de una o más declaraciones.
Sintaxis
La sintaxis de la instrucción if es -
if expression then
-- Statements will execute if the expression is true
end if
Si la expresión booleana se evalúa como verdadera, entonces se ejecuta el bloque de código dentro de la instrucción if. Si se evalúa como falso, entonces se ejecuta el primer conjunto de código después del final de la instrucción if.
Ejemplo
#!/home/euphoria-4.0b2/bin/eui
integer a = 10
integer b = 20
if (a + b) < 40 then
printf(1, "%s\n", {"This is true if statement!"})
end if
if (a + b) > 40 then
printf(1, "%s\n", {"This is not true if statement!"})
end if
Esto produce el siguiente resultado:
This is true if statement!
La declaración if ... else
Un if La declaración puede ir seguida de una else declaración, que se ejecuta cuando la expresión booleana es falsa.
Sintaxis
La sintaxis de la declaración if ... else es la siguiente:
if expression then
-- Statements will execute if the expression is true
else
-- Statements will execute if the expression is false
end if
Ejemplo
#!/home/euphoria-4.0b2/bin/eui
integer a = 10
integer b = 20
if (a + b) < 40 then
printf(1, "%s\n", {"This is inside if statement!"})
else
printf(1, "%s\n", {"This is inside else statement!"})
end if
Esto produce el siguiente resultado:
This is inside if statement!
La declaración if ... elsif ... else
Un if La declaración puede ir seguida de cualquier número de elsif...else declaración, que es muy útil para probar varias condiciones utilizando una sola declaración if ... elsif.
Sintaxis
La sintaxis de la declaración if ... elsif ... else es la siguiente:
if expression1 then
-- Executes when the Boolean expression 1 is true
elsif expression2 then
-- Executes when the Boolean expression 2 is true
elsif expression3 then
-- Executes when the Boolean expression 3 is true
else
-- Executes when none of the above condition is true.
end if
Ejemplo
#!/home/euphoria-4.0b2/bin/eui
integer a = 10
integer b = 20
if (a + b) = 40 then
printf(1, "Value of (a + b ) is %d\n", a + b )
elsif (a + b) = 45 then
printf(1, "Value of (a + b ) is %d\n", a + b )
elsif (a + b) = 30 then
printf(1, "Value of (a + b ) is %d\n", a + b )
else
printf(1, "Value of (a + b ) is %d\n", 0 )
end if
Esto produce el siguiente resultado:
Value of (a + b ) is 30
La etiqueta if ... then Statement
Un if declaración puede tener una cláusula de etiqueta justo antes de la primera thenpalabra clave. Tenga en cuenta que unelsif La cláusula no puede tener etiqueta.
Una etiqueta if ... se usa solo para nombrar el bloque if y los nombres de etiqueta deben ser cadenas constantes entre comillas dobles que tengan una o varias palabras. La palabra clave de la etiqueta distingue entre mayúsculas y minúsculas y debe escribirse comolabel.
Sintaxis
La sintaxis de la cláusula de etiqueta es la siguiente:
if expression label "Label Name" then
-- Executes when the boolean expression is true
end if
Ejemplo
#!/home/euphoria-4.0b2/bin/eui
integer a = 10
integer b = 20
if (a + b) = 40 label "First IF Block" then
printf(1, "Value of (a + b ) is %d\n", a + b )
elsif (a + b) = 45 then
printf(1, "Value of (a + b ) is %d\n", a + b )
elsif (a + b) = 30 then
printf(1, "Value of (a + b ) is %d\n", a + b )
else
printf(1, "Value of (a + b ) is %d\n", 0 )
end if
Esto produce el siguiente resultado:
Value of (a + b ) is 30
Declaración anidada if ... else
Siempre es legal anidar if…elsedeclaraciones. Esto significa que puede tener una instrucción if-else dentro de otra instrucción if-else.
Sintaxis
La sintaxis de anidado if ... else es la siguiente:
if expression1 then
-- Executes when the boolean expression1 is true
if expression2 then
-- Executes when the boolean expression2 is true
end if
end if
Ejemplo
#!/home/euphoria-4.0b2/bin/eui
integer a = 10
integer b = 20
integer c = 0
if c = 0 then
printf(1, "Value of c is equal to %d\n", 0 )
if (a + b) = 30 then
printf(1, "Value of (a + b ) is equal to %d\n", 30)
else
printf(1, "Value of (a + b ) is equal to %d\n", a + b )
end if
else
printf(1, "Value of c is equal to %d\n", c )
end if
Esto produce el siguiente resultado:
Value of c is equal to 0
Value of (a + b ) is equal to 30