Operatoren en prioriteit
ProcessMind-expressies ondersteunen verschillende operatoren voor rekenkundige berekeningen, vergelijkingen en logische bewerkingen.
Operatoren
Rekenkundige operatoren
| Symbool | Name | Beschrijving | Voorbeeld | Resultaat |
|---|---|---|---|---|
| + | Optellen | Telt twee getallen op of voegt strings samen | 5 + 3 | 8 |
| - | Aftrekken | Trekt het tweede getal af van het eerste | 10 - 4 | 6 |
| * | Vermenigvuldigen | Vermenigvuldigt twee getallen | 6 * 7 | 42 |
| / | Delen | Deelt het eerste getal door het tweede | 15 / 3 | 5 |
Vergelijkingsoperatoren
| Symbool | Name | Beschrijving | Voorbeeld | Resultaat |
|---|---|---|---|---|
| == | Gelijk aan | Controleert of twee waarden gelijk zijn | Status == "Active" | true of false |
| != | Niet gelijk aan | Controleert of twee waarden niet gelijk zijn | Status != "Deleted" | true of false |
| < | Kleiner dan | Controleert of de eerste waarde kleiner is dan de tweede | Amount < 100 | true of false |
| > | Groter dan | Controleert of de eerste waarde groter is dan de tweede | Amount > 1000 | true of false |
| <= | Kleiner dan of gelijk aan | Controleert of de eerste waarde kleiner dan of gelijk aan de tweede is | Count <= 10 | true of false |
| >= | Groter dan of gelijk aan | Controleert of de eerste waarde groter dan of gelijk aan de tweede is | Score >= 80 | true of false |
| in | In lijst | Controleert of een waarde in een lijst met waarden voorkomt | Status in ["A", "B", "C"] | true of false |
Logische operatoren
| Symbool | Name | Beschrijving | Voorbeeld | Resultaat |
|---|---|---|---|---|
| && | Logische AND | Geeft true terug als beide voorwaarden waar zijn | Amount > 100 && Status == "Active" | true of false |
| and | Logische AND (trefwoord) | Alias voor &&. Geeft true terug als beide voorwaarden waar zijn | Amount > 100 and Status == "Active" | true of false |
| || | Logische OR | Geeft true terug als ten minste één voorwaarde waar is | Priority == "High" || Urgent == true | true of false |
| or | Logische OR (trefwoord) | Alias voor ||. Geeft true terug als ten minste één voorwaarde waar is | Priority == "High" or Urgent == true | true of false |
| ! | Logische NOT | Keert een booleanwaarde om | !IsDeleted | true of false |
| not | Logische NOT (trefwoord) | Alias voor !. Keert een booleanwaarde om | not IsDeleted | true of false |
Prioriteit
Operatoren met een hogere prioriteit worden eerst geëvalueerd. Met haakjes kun je de standaardprioriteit aanpassen.
| Prioriteit | Category | Operatoren | Associativity |
|---|---|---|---|
| 1 | Logische OR | || , or | Van links naar rechts |
| 2 | Logische AND | && , and | Van links naar rechts |
| 3 | Gelijkheid | == , != | Van links naar rechts |
| 4 | Vergelijking | < , > , <= , >= , in | Van links naar rechts |
| 5 | Optellen/aftrekken | + , - | Van links naar rechts |
| 6 | Vermenigvuldigen/delen | * , / | Van links naar rechts |
| 7 | Unaire operator | ! , not , - | Van rechts naar links |
| 8 | Functieaanroep | () | Van links naar rechts |
| 9 | Haakjes | ( ) | — |
Opmerkingen over operatoren
-
Tekenreeksen samenvoegen met
+: de+-operator voegt ook tekenreeksen samen als een van de operanden een tekenreeks is:"Hello" + " " + "World" → "Hello World" -
De
in-operator is gelijk aan meerdere OR-vergelijkingen:Status in ["Pending", "Active", "Review"] // is the same as: Status == "Pending" || Status == "Active" || Status == "Review"
Voorbeelden
-
Voorwaarden combineren:
// Both conditions must be true Amount > 1000 && Region == "Europe" // At least one condition must be true Priority == "High" or Escalated == true // Negation not IsArchived
Ternary-operator
De ternary-operator is een korte notatie voor eenvoudige if/else-logica:
-
Syntax:
condition ? valueIfTrue : valueIfFalse -
Voorbeeld:
Amount > 1000 ? "High" : "Low" -
Gelijk aan:
if(Amount > 1000, "High", "Low")
Voorbeelden van prioriteit
-
Zonder haakjes:
2 + 3 * 4 → 14 (multiplication first) 10 > 5 && 3 < 7 → true (comparisons before AND) -
Met haakjes:
(2 + 3) * 4 → 20 (addition first)
Speciale syntax
-
Geciteerde identifiers: als een kolomnaam spaties of speciale tekens bevat, gebruik je backticks:
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
Tekens escapen: gebruik een backslash om speciale tekens in tekenreeksen te escapen:
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
Null-waarden: gebruik null voor ontbrekende waarden:
if(Department == null, "Unknown", Department)Of gebruik de functie isNull():
if(isNull(Department), "Unknown", Department)
Gerelateerde onderwerpen
- Overzicht van expressies: alle expressiefuncties.