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