• Home
  • Docker
  • Kubernetes
  • LLMs
  • Java
  • Ubuntu
  • Maven
  • Big Data
  • Archived
ColdFusion | CFML : Opérateurs
  1. Utiliser les opérateurs arithmétiques
  2. Utiliser les opérateurs de comparaison
  3. Utiliser les opérateurs logiques
  4. Comprendre l'évaluation booléenne des variables
  5. Utiliser les opérateurs de comparaison IS, IS NOT, EQ, et NEQ

  1. Utiliser les opérateurs arithmétiques
    Nom de l'opérateur CFML et CFScript
    addition, soustraction, multiplication, division + - * /
    (pré/post) incrémentation et décrémentation de 1 ++ --
    assignation composée : addition, soustraction, multiplication, division += -= *= /= %=
    Opérateur unaire (Changement du signe de la variable) + -
    modulo MOD %
    division entière \
    exponentiation ^

    Exemples :

    - Assignation composée : permet de modifier une variable par le résultat d'une expression qui implique cette variable.

    Les deux instructions, de l'exemple précédent, sont équivalentes.

    - Pré-incrémentation : si la variable est utilisée dans une instruction, alors sa valeur est incrémentée de 1 avant qu'elle soit utilisée dans cette instruction.

    Dans l'exemple précédent, dans la deuxième ligne, la valeur de la variable « x » est incrémentée d'abords de 1 puis sa nouvelle valeur (2) est affectée à la variable « y ». À la fin d'exécution des deux instructions d'assignation, les deux variables « x » et « y » prennent la valeur 2.

    - Post-incrémentation : si la variable est utilisée dans une instruction, alors sa valeur est incrémentée de 1 après qu'elle soit utilisée dans cette instruction.

    Dans l'exemple précédent, dans la deuxième ligne, la valeur de la variable « x » (1) est affectée à la variable « y » puis la valeur de la variable « x » est incrémentée de 1. À la fin d'exécution des deux instructions d'assignation, la variable « x » prend la valeur 2 et la variable « y » prend la valeur 1.

    - Pré-décrémentation : si la variable est utilisée dans une instruction, alors sa valeur est décrémentée de 1 avant qu'elle soit utilisée dans cette instruction.

    Dans l'exemple précédent, dans la deuxième ligne, la valeur de la variable « x » est décrémentée d'abords de 1, puis sa nouvelle valeur (0) est affectée à la variable « y ». À la fin d'exécution des deux instructions d'assignation, les deux variables « x » et « y » prennent la valeur 0.

    - Post-décrémentation : si la variable est utilisée dans une instruction, alors sa valeur est décrémentée de 1 après qu'elle soit utilisée dans cette instruction.

    Dans l'exemple précédent, dans la deuxième ligne, la valeur de la variable « x » (1) est affectée à la variable « y » puis la valeur de la variable « x » est décrémentée de 1. À la fin d'exécution des deux instructions d'assignation, la variable « x » prend la valeur 0 et la variable « y » prend la valeur 1.
  2. Utiliser les opérateurs de comparaison
    Nom de l'opérateur CFML et CFScript CFScript (uniquement)
    plus grand que <cfif x GT y> if(x > y)
    plus grand ou égale à <cfif x GTE y> if(x >= y)
    plus petit que <cfif x LT y> if(x < y)
    plus petit ou égale à <cfif x LTE y> if(x <= y)
    égale à <cfif x EQ y> if(x == y)
    <cfif x IS y>
    différent de <cfif x NEQ y> if(x != y)
    <cfif x IS NOT y>

    Remarque : vous pouvez utiliser tous les opérateurs de comparaison CFML dans le code CFScript mais vous ne pouvez pas utiliser ceux de CFScript dans le code CFML.

    Par exemple le code suivant est correcte :

    Par contre celui-ci, générera l'erreur suivante « Invalid CFML construct found on line 1 at column 9. »
  3. Utiliser les opérateurs logiques
    Nom de l'opérateur
    CFML et CFScript
    Évaluation de la condition
    négation NOT
    <cfif NOT x>
    la condition est vraie si x est « false »
    <cfif ! x>
    opérateur AND
    <cfif x AND y>
    la condition est vraie si x et y sont « true »
    <cfif x && y>
    opérateur OR
    <cfif x OR y>
    la condition est vraie si x ou/et y sont « true »
    <cfif x || y>
    opérateur XOR
    <cfif x XOR y>
    la condition est vraie si x est « true » et y est « false » ou x est « false » et y est « true »
    opérateur EQV
    <cfif x EQV y>
    la condition est vraie si x et y sont « true » ou x et y sont « false » (c'est l'opposé de l'operateur XOR)
    opérateur IMP
    <cfif x IMP y>
    la condition est fausse si x est « true » et y est « false »
  4. Comprendre l'évaluation booléenne des variables

    - La condition est vraie si la valeur de la variable "x" est :
    --  true ou "true" (non sensible à la casse)
    --  "yes" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_0 ou "ANY_NUMBER_EXCEPT_0" (par exemple : 1, -1, 5544544)

    - La condition est fausse si la valeur de la variable "x" est :
    --  false ou "false" (non sensible à la casse)
    --  "no" (non sensible à la casse)
    --  0 ou "0"

    - La condition est vraie si la valeur de la variable "x" est :
    --  false ou "false" (non sensible à la casse)
    --  "no" (non sensible à la casse)
    --  0 ou "0"

    - La condition est fausse si la valeur de la variable "x" est :
    --  true ou "true" (non sensible à la casse)
    --  "yes" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_0 ou "ANY_NUMBER_EXCEPT_0" (par exemple : 1, -1, 5544544)

    Remarque (1) : Les chaînes de caractères « "true" » (aussi « 'true' »), « "false" » (aussi « 'false' »), « "yes" » (aussi « 'yes' »), « "no" » (aussi « 'no' »), ou n'importe quel chaîne de caractères composée de chiffres (par exemple : "5544544", '1', "0") sont converties en valeurs booléens « true » ou « false » lorsqu'elles sont utilisées dans des expressions booléens.

    Remarque (2) : Si ColdFusion ne réussit pas à convertir la valeur de la variable au type booléen (exemple "AAA"), il générera l'erreur suivante « CANNOT CONVERT THE VALUE "AAA" TO A BOOLEAN ».
  5. Utiliser les opérateurs de comparaison IS, IS NOT, EQ, et NEQ

    - La condition est vraie si la valeur de la variable "x" est :
    -- true ou "true" (non sensible à la casse)
    -- "yes" (non sensible à la casse)
    -- 1 ou "1"

    - La condition est fausse si la valeur de la variable "x" est :
    -- false ou "false" (non sensible à la casse)
    -- "no" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_1 ou "ANY_NUMBER_EXCEPT_1" (par exemple : 0, -2, 38)

    - La condition est vraie si la valeur de la variable "x" est :
    -- false ou "false" (non sensible à la casse)
    -- "no" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_1 ou "ANY_NUMBER_EXCEPT_1" (par exemple : 0, -2, 38)

    - La condition est fausse si la valeur de la variable "x" est :
    -- true ou "true" (non sensible à la casse)
    -- "yes" (non sensible à la casse)
    -- 1 ou "1"

    - La condition est vraie si la valeur de la variable "x" est :
    -- false ou "false" (non sensible à la casse)
    -- "no" (non sensible à la casse)
    -- 0 ou "0"

    - La condition est fausse si la valeur de la variable "x" est :
    -- true ou "true" (non sensible à la casse)
    -- "yes" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_0 ou "ANY_NUMBER_EXCEPT_0" (par exemple : 1, -2, 38)

    - La condition est vraie si la valeur de la variable "x" est :
    -- true ou "true" (non sensible à la casse)
    -- "yes" (non sensible à la casse)
    -- ANY_NUMBER_EXCEPT_0 ou "ANY_NUMBER_EXCEPT_0" (par exemple : 1, -2, 38)

    - La condition est fausse si la valeur de la variable "x" est :
    -- false ou "false" (non sensible à la casse)
    -- "no" (non sensible à la casse)
    -- 0 ou "0"

    Remarques :

    - Si ColdFusion réussit à convertir les deux valeurs à comparer en numérique il effectuera une comparaison numérique (cela explique pourquoi la comparaison d'une chaîne de caractères « "false" » et une valeur booléenne ou numérique est possible).

    - sinon, si la conversion échoue, ColdFusion va effectuer une comparaison standard entre deux chaînes de caractères (cela explique pourquoi la comparaison des chaînes de caractères « "false" » et « "TOTO" », ou « true » et « "ABC" » renvoient « false »).

    Notes :

    • Il faut noter que la valeur numérique de true est 1 (pas 2, ni 5, ni aucune autre valeur numérique), et celle de false est 0 (pas 2, ni 5, ni aucune autre valeur numérique), d'où les résultats obtenus lorsqu'une comparaison numérique est effectuée.
    • Le contraire n'est pas tout à fait vrai, car la valeur booléenne de 0 est false, et celle de tous les autres numériques est true, d'où les résultats obtenus lorsqu'une comparaison booléenne est effectuée.
    • Il faut noter aussi que la chaîne de caractères « "yes" » est convertie en valeur booléenne true, lorsqu'elle est utilisée dans une expression booléenne (ou numérique 1, lorsqu'elle est utilisée dans une comparaison numérique ou opération arithmétique).
      Et que la chaîne de caractères « "no" » est convertie en valeur booléenne false, lorsqu'elle est utilisée dans une expression booléenne (ou numérique 0, lorsqu'elle est utilisée dans une comparaison numérique ou opération arithmétique).
      Mais il ne faut pas les utiliser comme des littéraux yes et no dans des expressions (ce ne sont pas des mots clés).
      Cependant, il est tout à fait correct de déclarer des variables dont le nom est yes ou no.

© 2025  mtitek