if ... elsif ... else ... endif Déclarations

La déclaration if

Un if instruction se compose d'une expression booléenne suivie d'une ou plusieurs instructions.

Syntaxe

La syntaxe de l' instruction if est -

if expression then
   -- Statements will execute if the expression is true
end if

Si l'expression booléenne a la valeur true, le bloc de code à l'intérieur de l'instruction if est exécuté. Si la valeur est false, le premier ensemble de code après la fin de l'instruction if est exécuté.

Exemple

#!/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

Cela produit le résultat suivant -

This is true if statement!

La déclaration if ... else

Un if l'instruction peut être suivie d'une instruction facultative else instruction, qui s'exécute lorsque l'expression booléenne est fausse.

Syntaxe

La syntaxe de l' instruction if ... else est la suivante -

if expression then
   -- Statements will execute if the expression is true
else
   -- Statements will execute if the expression is false
end if

Exemple

#!/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

Cela produit le résultat suivant -

This is inside if statement!

Le si ... ELSIF ... else Déclaration

Un if l'instruction peut être suivie d'un nombre illimité de elsif...else instruction, qui est très utile pour tester diverses conditions en utilisant une instruction if ... elsif unique.

Syntaxe

La syntaxe de l' instruction if ... elsif ... else est la suivante -

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

Exemple

#!/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

Cela produit le résultat suivant -

Value of (a + b ) is  30

Le if ... label ... then Statement

Un if l'instruction peut avoir une clause d'étiquette juste avant la première thenmot-clé. Notez qu'unelsif la clause ne peut pas avoir d'étiquette.

Un si… lable est utilisé juste pour nommer le bloc if et les noms d'étiquette doivent être des chaînes constantes entre guillemets doubles comportant des mots simples ou multiples. Le mot-clé label est sensible à la casse et doit être écrit commelabel.

Syntaxe

La syntaxe de la clause label est la suivante -

if expression label "Label Name" then
   -- Executes when the boolean expression  is true
end if

Exemple

#!/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

Cela produit le résultat suivant -

Value of (a + b ) is  30

Emboîtés if ... else Déclaration

Il est toujours légal d'imbriquer if…elsedéclarations. Cela signifie que vous pouvez avoir une instruction if-else dans une autre instruction if-else.

Syntaxe

La syntaxe de si imbriqué ... else est la suivante -

if expression1 then
    -- Executes when the boolean expression1  is true
   if expression2 then
       -- Executes when the boolean expression2  is true  
   end if
end if

Exemple

#!/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

Cela produit le résultat suivant -

Value of c is equal to 0
Value of (a + b ) is  equal to 30