If : Else : EndIf


Syntax
If <expression> 
  ...
[ElseIf <expression>]
  ...
[Else]
  ...
EndIf 
Description
La structure If est utilisée pour effectuer des tests et/ou changer le déroulement du programme selon le résultat (vrai ou faux) du test. ElseIf est utilisé pour produire un nombre quelconque de tests additionnels si le premier n'a pas eu un résultat vrai. La commande optionnelle Else est utilisée pour exécuter une séquence de code si tous les tests précédents de la structure ont échoué. Les structures If peuvent être imbriquées sans limite de profondeur.

Les court-circuits sont pris en charge, ce qui signifie que si un test est vrai, tous les tests suivants seront ignorés.

Exemple: Test simple

  a = 5
  If a = 10 
    Debug "a = 10"
  Else
    Debug "a <> 10"
  EndIf    

Exemple: Test multiple

  a = 10
  ; b = 15
  c = 20

  If (a = 10) And (b >= 10) Or (c = 20)
    If b = 15
      Debug "b = 15"
    Else 
      PrintN("Autre possibilité") 
    EndIf 
  Else 
    PrintN("Erreur de test")
  EndIf  

Exemple: Court-circuit

  Procedure AfficherSalut()
    Debug "Salut"
    ProcedureReturn 1
  EndProcedure

  a = 10
  If a = 10 Or AfficherSalut() = 1 ; a est égal à 10, alors le deuxième test est totalement ignoré
    Debug "Succès"
  Else     
    Debug "Erreur"
  EndIf