Les instructions de conditionnel en langage REXX sont au nombres de deux et sont extrêmement particulières :
- IF THEN ... ELSE
- SELECT ... WHEN ... THEN ... END
IF THEN ELSE
L'instruction «IF» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai. Voici donc les syntaxes :
IF expression_vrai THEN instruction_exécuté_si_vrai |
ou
IF expression_vrai THEN instruction_exécuté_si_vrai ELSE instruction_exécuté_si_faux |
ou
IF expression_vrai1THEN instruction_exécuté_si_vrai1 ELSE instruction_exécuté_si_faux |
Vous y remarquerez donc après les syntaxes proposé que l'instruction «ELSE» n'est pas obligatoire.
Exemple
Cet exemple permet de tester une condition vrai :
on obtiendra le résultat suivant :
La condition est vraiSELECT
Lorsqu'on effectue une série de teste répétitive sur une même variable avec différente valeur de la manière suivante :
IF valeur = 1 THEN instruction1_exécuté_si_vrai1 ELSE IF valeur = 2 THEN instruction_exécuté_si_vrai2 ELSE IF valeur = 3 THEN instruction_exécuté_si_vrai3 ELSE instruction_exécuté_si_faux |
On devrait plutôt tenté d'utiliser l'instruction «SELECT» laquelle permet une meilleure lisibilité en plus de simplifié la compréhension pour un programmeur externe à votre code. Voici donc sa syntaxe :
SELECT WHEN resultat1 = 1 THEN instruction1_exécuté_si_vrai1 WHEN resultat2 = 2 THEN instruction2_exécuté_si_vrai2 WHEN resultat3 = 3 THEN instruction3_exécuté_si_vrai3 OTHERWISE instruction_exécuté_si_faux END |
L'instruction «OTHERWISE» n'est pas obligatoire, il est tout de même préférable de l'inclure pour prévenir une situation anormale ou d'erreur.
Exemple
Voici un exemple une utilisation typique de cette instruction :
on obtiendra le résultat suivant :
Entre 1 et 3