In questa pagina

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 in equivale 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 * 414  (multiplication first)
    10 > 5 && 3 < 7true  (comparisons before AND)
  • Con le parentesi:

    (2 + 3) * 420  (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