Sur cette page

Opérateurs et priorité

Les expressions ProcessMind prennent en charge différents opérateurs pour les calculs arithmétiques, les comparaisons et les opérations logiques.

Opérateurs

Opérateurs arithmétiques

Symbole Name Description Exemple Résultat
+ Addition Additionne deux nombres ou concatène des chaînes 5 + 3 8
- Soustraction Soustrait le deuxième nombre du premier 10 - 4 6
* Multiplication Multiplie deux nombres 6 * 7 42
/ Division Divise le premier nombre par le deuxième 15 / 3 5

Opérateurs de comparaison

Symbole Name Description Exemple Résultat
== Égal Vérifie si deux valeurs sont égales Status == "Active" true ou false
!= Différent Vérifie si deux valeurs sont différentes Status != "Deleted" true ou false
< Inférieur à Vérifie si la première valeur est inférieure à la deuxième Amount < 100 true ou false
> Supérieur à Vérifie si la première valeur est supérieure à la deuxième Amount > 1000 true ou false
<= Inférieur ou égal à Vérifie si la première valeur est inférieure ou égale à la deuxième Count <= 10 true ou false
>= Supérieur ou égal à Vérifie si la première valeur est supérieure ou égale à la deuxième Score >= 80 true ou false
in Dans la liste Vérifie si une valeur appartient à une liste de valeurs Status in ["A", "B", "C"] true ou false

Opérateurs logiques

Symbole Name Description Exemple Résultat
&& ET logique Renvoie true si les deux conditions sont vraies Amount > 100 && Status == "Active" true ou false
and ET logique (mot-clé) Alias de &&. Renvoie true si les deux conditions sont vraies Amount > 100 and Status == "Active" true ou false
|| OU logique Renvoie true si au moins une condition est vraie Priority == "High" || Urgent == true true ou false
or OU logique (mot-clé) Alias de ||. Renvoie true si au moins une condition est vraie Priority == "High" or Urgent == true true ou false
! NON logique Inverse une valeur booléenne !IsDeleted true ou false
not NON logique (mot-clé) Alias de !. Inverse une valeur booléenne not IsDeleted true ou false

Priorité

Les opérateurs prioritaires sont évalués en premier. Les parenthèses permettent de modifier l’ordre de priorité par défaut.

Priorité Category Opérateurs Associativity
1 OU logique || , or De gauche à droite
2 ET logique && , and De gauche à droite
3 Égalité == , != De gauche à droite
4 Comparaison < , > , <= , >= , in De gauche à droite
5 Addition/Soustraction + , - De gauche à droite
6 Multiplication/Division * , / De gauche à droite
7 Unaire ! , not , - De droite à gauche
8 Appel de fonction () De gauche à droite
9 Parenthèses ( )

Remarques sur les opérateurs

  • Concaténation de chaînes avec + : l’opérateur + concatène également les chaînes lorsqu’un des opérandes est une chaîne :

    "Hello" + " " + "World""Hello World"
  • L’opérateur in équivaut à plusieurs comparaisons avec OR :

    Status in ["Pending", "Active", "Review"]
    // is the same as:
    Status == "Pending" || Status == "Active" || Status == "Review"

Exemples

  • Combiner des conditions :

    // Both conditions must be true
    Amount > 1000 && Region == "Europe"
    
    // At least one condition must be true  
    Priority == "High" or Escalated == true
    
    // Negation
    not IsArchived

Opérateur ternaire

L’opérateur ternaire fournit une notation abrégée pour une logique simple de type si/sinon :

  • Syntaxe :

    condition ? valueIfTrue : valueIfFalse
  • Exemple :

    Amount > 1000 ? "High" : "Low"
  • Équivalent :

    if(Amount > 1000, "High", "Low")

Exemples de priorité

  • Sans parenthèses :

    2 + 3 * 414  (multiplication first)
    10 > 5 && 3 < 7true  (comparisons before AND)
  • Avec parenthèses :

    (2 + 3) * 420  (addition first)

Syntaxe spéciale

  • Identifiants entre guillemets : si un nom de colonne contient des espaces ou des caractères spéciaux, utilisez des accents graves :

    `Order Amount` * 0.1
    `Customer Name`
    `2024 Revenue`
  • Échappement des chaînes : utilisez une barre oblique inverse pour échapper les caractères spéciaux dans les chaînes :

    "Line 1\nLine 2"     // newline
    "Tab\there"          // tab
    "Say \"Hello\""      // double quote
    "Path\\to\\file"     // backslash
  • Valeurs nulles : utilisez null pour représenter les valeurs manquantes :

    if(Department == null, "Unknown", Department)

    Ou utilisez la fonction isNull() :

    if(isNull(Department), "Unknown", Department)

Sujets associés