Section courante

A propos

Section administrative du site

Les instructions de conditionnel en langage REXX sont au nombres de deux et sont extrêmement particulières :

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 :

  1. IF 1 THEN SAY "La condition est vrai"

on obtiendra le résultat suivant :

La condition est vrai

SELECT

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 :

  1. a = 2
  2. SELECT
  3.    WHEN a = 1 | a = 2 | a = 3 THEN
  4.         SAY "Entre 1 et 3"
  5.    WHEN a = 4 | a = 5 | a = 6 THEN
  6.         SAY "Entre 4 et 6"
  7.    WHEN a = 7 THEN
  8.         SAY "C'est 7"
  9.    OTHERWISE
  10.         SAY "Inférieur ou égale à 0 ou supérieur à 8"
  11. END

on obtiendra le résultat suivant :

Entre 1 et 3

Dernière mise à jour : Lundi, le 10 novembre 2014