Operatori e precedenza
Le espressioni di ProcessMind supportano diversi operatori per calcoli aritmetici, confronti e operazioni logiche.
Operatori
Operatori aritmetici
| Simbolo | Name | Descrizione | Esempio | Risultato |
|---|---|---|---|---|
| + | Addizione | Somma due numeri o concatena stringhe | 5 + 3 | 8 |
| - | Sottrazione | Sottrae il secondo numero dal primo | 10 - 4 | 6 |
| * | Moltiplicazione | Moltiplica due numeri | 6 * 7 | 42 |
| / | Divisione | Divide il primo numero per il secondo | 15 / 3 | 5 |
Operatori di confronto
| Simbolo | Name | Descrizione | Esempio | Risultato |
|---|---|---|---|---|
| == | Uguale | Verifica se due valori sono uguali | Status == "Active" | true o false |
| != | Diverso | Verifica se due valori sono diversi | Status != "Deleted" | true o false |
| < | Minore di | Verifica se il primo valore è minore del secondo | Amount < 100 | true o false |
| > | Maggiore di | Verifica se il primo valore è maggiore del secondo | Amount > 1000 | true o false |
| <= | Minore o uguale a | Verifica se il primo valore è minore o uguale al secondo | Count <= 10 | true o false |
| >= | Maggiore o uguale a | Verifica se il primo valore è maggiore o uguale al secondo | Score >= 80 | true o false |
| in | Nell’elenco | Verifica se un valore è incluso in un elenco di valori | Status in ["A", "B", "C"] | true o false |
Operatori logici
| Simbolo | Name | Descrizione | Esempio | Risultato |
|---|---|---|---|---|
| && | AND logico | Restituisce true se entrambe le condizioni sono vere | Amount > 100 && Status == "Active" | true o false |
| and | AND logico (parola chiave) | Alias di &&. Restituisce true se entrambe le condizioni sono vere | Amount > 100 and Status == "Active" | true o false |
| || | OR logico | Restituisce true se almeno una condizione è vera | Priority == "High" || Urgent == true | true o false |
| or | OR logico (parola chiave) | Alias di ||. Restituisce true se almeno una condizione è vera | Priority == "High" or Urgent == true | true o false |
| ! | NOT logico | Nega un valore booleano | !IsDeleted | true o false |
| not | NOT logico (parola chiave) | Alias di !. Nega un valore booleano | not IsDeleted | true o false |
Precedenza
Gli operatori con precedenza maggiore vengono valutati per primi. È possibile utilizzare le parentesi per modificare la precedenza predefinita.
| Precedenza | Category | Operatori | Associativity |
|---|---|---|---|
| 1 | OR logico | || , or | Da sinistra a destra |
| 2 | AND logico | && , and | Da sinistra a destra |
| 3 | Uguaglianza | == , != | Da sinistra a destra |
| 4 | Confronto | < , > , <= , >= , in | Da sinistra a destra |
| 5 | Addizione/Sottrazione | + , - | Da sinistra a destra |
| 6 | Moltiplicazione/Divisione | * , / | Da sinistra a destra |
| 7 | Unario | ! , not , - | Da destra a sinistra |
| 8 | Chiamata di funzione | () | Da sinistra a destra |
| 9 | Parentesi | ( ) | — |
Note sugli operatori
-
Concatenazione di stringhe con
+: l’operatore+concatena le stringhe anche quando uno dei due operandi è una stringa:"Hello" + " " + "World" → "Hello World" -
L’operatore
inequivale a più confronti OR:Status in ["Pending", "Active", "Review"] // is the same as: Status == "Pending" || Status == "Active" || Status == "Review"
Esempi
-
Combinare le condizioni:
// Both conditions must be true Amount > 1000 && Region == "Europe" // At least one condition must be true Priority == "High" or Escalated == true // Negation not IsArchived
Operatore ternario
L’operatore ternario offre una forma abbreviata della logica if/else semplice:
-
Sintassi:
condition ? valueIfTrue : valueIfFalse -
Esempio:
Amount > 1000 ? "High" : "Low" -
Equivalente a:
if(Amount > 1000, "High", "Low")
Esempi di precedenza
-
Senza parentesi:
2 + 3 * 4 → 14 (multiplication first) 10 > 5 && 3 < 7 → true (comparisons before AND) -
Con le parentesi:
(2 + 3) * 4 → 20 (addition first)
Sintassi speciale
-
Identificatori tra virgolette: se il nome di una colonna contiene spazi o caratteri speciali, utilizzi gli apici inversi:
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
Escape delle stringhe: utilizzi la barra rovesciata per eseguire l’escape dei caratteri speciali nelle stringhe:
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
Valori null: utilizzi null per rappresentare i valori mancanti:
if(Department == null, "Unknown", Department)Oppure utilizzi la funzione isNull():
if(isNull(Department), "Unknown", Department)
Argomenti correlati
- Panoramica delle espressioni: tutte le funzioni delle espressioni.