:IF... :ELSE... :ENDIF

Les instructions de script :IF et :ENDIF vous permettent de créer un bloc conditionnel dans votre script. Le script analyse une expression et exécute les instructions écrites dans le bloc dès qu'une certaines condition est remplie. Si la condition n'est pas remplie, soit le script continue avec la ligne suivant le bloc conditionnel, soit il exécute des instructions :ELSE, le cas échéant.

Syntaxe

:IF Condition
[Statements]
[:ELSE]
[Other Statements]
:ENDIF

Paramètres

Remarques :

Important ! L'instruction :IF ne fait aucune différence dans les caractères au-delà des 1024 premiers caractères d'une chaîne.

La formulation d'une condition contient l'un des opérateurs de comparaison suivants :

Opérateur

Abréviation

Règle

=

EQ

L'expression est vraie lorsqu'au moins une valeur de comparaison correspond à la valeur.

<>

NE

L'expression est vraie lorsqu'aucune valeur de comparaison n'est égale à la valeur.

<

LT

L'expression est vraie lorsqu'une valeur de comparaison correspond à la condition définie.

>

GT

<=

LE

>=

GE

Exemples

  • La comparaison suivante de &a et &b renvoie la valeur "true" car les espaces vides de terminaison sont éliminés avant la comparaison des chaînes.
  • :set &a= 'a   '
    :set &b= 'a'
    :if &a = &b
    :print 'true'
    :endif

    Une comparaison numérique a lieu lorsque deux valeurs de comparaison d'une condition ont une valeur numérique (données de type "signed", "unsigned" ou "float"). Dans tous les autres cas, c'est une comparaison de chaînes qui a lieu.

    La condition suivante est vraie :

    :IF "0" = "0"

    Une comparaison alphanumérique a lieu lorsqu'il n'y a aucune valeur numérique.

    La condition suivante est fausse :

    :IF "0" = "abc"

    Les longueurs de scripts ne sont pas vérifiées pendant le processus de comparaison. La condition suivante est vraie car S précède U dans l'alphabet :

    :IF "Smith" < "UX"

    Dans les conditions incluant plusieurs mot-clés OR, le comportement dépend de l'opérateur.

    Dans l'exemple suivant, l'une des valeurs doit s'appliquer pour remplir la condition.

    :IF&WD# = "MON" OR "TUE" OR "WED"

    La condition suivante n'est remplie que si la variable ne correspond à aucune des trois valeurs.

    :IF&WD# <> "THU" OR "FRI" OR "SAT"

    Voir aussi :