Esistono due tipi di operatori: operatori unari e operatori binari. Sono disponibili operatori unari di sinistra e operatori unari di destra.
// left-hand unary operators
<operator> <operand> // operand is an expression
not (@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example@adobe.com")
// right-hand unary operators
<operand> <operator> // operand is an expression
@{LobbyBeacon.endUserIDs._experience.emailid.id} is not null
// binary operators
<operand1> <operator> <operand2>
(@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example1@adobe.com") or
(@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example2@adobe.com")
*
), entrambi i campi dell'operazione devono avere lo stesso tipo, intero o decimale. Esempio :
3.0 * 4.0
3 * 4.0
genererà un errore<expression1> and <expression2>
Entrambi <expression1> e <expression2> deve essere booleano. Il risultato è booleano.
Esempio:
3.14 > 2 and 3.15 < 1
<expression1> or <expression2>
Entrambi <expression1> e <expression2> deve essere booleano. Il risultato è booleano.
Esempio:
3.14 > 2 or 3.15 < 1
not <expression>
<expression> deve essere booleano. Il risultato è booleano.
Esempio:
not 3.15 < 1
<expression> is null
Il risultato è booleano.
Nullo significa che l’espressione non ha un valore valutato.
Esempio:
@{BarBeacon.location} is null
<expression> is not null
Il risultato è booleano.
Nullo significa che l’espressione non ha un valore valutato.
Esempio:
@ is not null
<expression> has null
<expression> deve essere un elenco. Il risultato è booleano.
Utile per identificare che un elenco contiene almeno un valore null.
Esempio:
["foo", "bar", null] has null -- returns true.
["foo", "bar", ""] has null -- returns false because "" is not considered as null.
<expression1> == <expression2>
Entrambi <expression1> e <expression2> deve avere lo stesso tipo di dati. Il risultato è booleano.
Esempio:
3.14 == 42
"foo" == "bar"
<expression1> != <expression2>
Entrambi <expression1> e <expression2> deve avere lo stesso tipo di dati. Il risultato è booleano.
Esempio:
3.14 != 42
"foo" != "bar"
<expression1> > <expression2>
Datetime può essere confrontato con Datetime.
Datetimeonly può essere confrontato con Datetimeonly.
Sia il numero intero che il numero decimale possono essere confrontati con il numero intero o il numero decimale.
Qualsiasi altra combinazione è vietata.
Il risultato è booleano.
Esempio:
3.14 > 42
<expression1> >= <expression2>
Datetime può essere confrontato con Datetime.
Datetimeonly può essere confrontato con Datetimeonly.
Sia il numero intero che il numero decimale possono essere confrontati con il numero intero o il numero decimale.
Qualsiasi altra combinazione è vietata.
Il risultato è booleano.
Esempio:
42 >= 3.14
<expression1> < <expression2>
Datetime può essere confrontato con Datetime.
Datetimeonly può essere confrontato con Datetimeonly.
Sia il numero intero che il numero decimale possono essere confrontati con il numero intero o il numero decimale.
Qualsiasi altra combinazione è vietata.
Il risultato è booleano.
Esempio:
42 < 3.14
<expression1> <= <expression2>
Datetime può essere confrontato con Datetime.
Datetimeonly può essere confrontato con Datetimeonly.
Sia il numero intero che il numero decimale possono essere confrontati con il numero intero o il numero decimale.
Qualsiasi altra combinazione è vietata.
Il risultato è booleano.
Esempio:
42 <= 3.14
<expression1> + <expression2>
Entrambe le espressioni devono essere numeriche (numero intero o decimale).
Il risultato è anche numerico.
Esempio:
1 + 2 -- returns 3
<expression1> - <expression2>
Entrambe le espressioni devono essere numeriche (numero intero o decimale).
Il risultato è anche numerico.
Esempio:
2 - 1 -- returns 1
<expression1> / <expression2>
Entrambe le espressioni devono essere numeriche (numero intero o decimale).
Il risultato è anche numerico.
<expression2> non deve essere uguale a 0 (restituisce 0).
Esempio:
4 / 2 -- returns 2
<expression1> * <expression2>
Entrambe le espressioni devono essere numeriche (numero intero o decimale).
Il risultato è anche numerico.
Esempio:
3 * 4 -- returns 12
<expression1> % <expression2>
Entrambe le espressioni devono essere numeriche (numero intero o decimale).
Il risultato è anche numerico.
Esempio:
3 % 2 -- returns 1.
<expression> is numeric
Il tipo dell'espressione è numero intero o decimale.
Esempio:
@ is numeric
<expression> is integer
Il tipo dell'espressione è un numero intero.
Esempio:
@ is integer
<expression> is decimal
Il tipo dell'espressione è decimal.
Esempio:
@ is decimal
<string> + <expression>
<expression> + <string>
Concatena due espressioni.
Un'espressione deve essere una stringa concatenata.
Esempio:
"the current time is " + (now()) -- returns "the current time is 2019-09-23T09:30:06.693Z"
(now()) + " is the current time" -- returns "2019-09-23T09:30:06.693Z is the current time"
"a" + "b" + "c" + 1234 -- returns "abc1234".
<expression> + <duration>
Aggiungere una durata a un valore dateTime, dateTimeOnly o duration.
Esempio:
toDateTime("2011-12-03T15:15:30Z") + toDuration("PT15M") -- returns 2011-12-03T15:30:30Z
toDateTimeOnly("2011-12-03T15:15:30") + toDuration("PT15M") -- returns 2011-12-03T15:30:30
now() + toDuration("PT1H") -- returns a dateTime (with UTC time zone) one hour later from current time
toDuration("PT1H") + toDuration("PT1H") -- returns PT2H