运算符

有两种运算符:一元运算符和二进制运算符。 有左手一元运算符和右手一元运算符。

    // 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")

以下是受支持运算符的列表:

逻辑

<expression1> and <expression2>

<表达式1>和<表达式2>都必须是布尔值。 结果是布尔值。

示例:

3.14 > 2 and 3.15 < 1

或者

<expression1> or <expression2>

<表达式1>和<表达式2>都必须是布尔值。 结果是布尔值。

示例:

3.14 > 2 or 3.15 < 1

not <expression>

<expression> 必须是布尔型。结果是布尔值。

示例:

not 3.15 < 1

比较

为null

<expression> is null

结果是布尔值。

请注意,null表示表达式没有计算值。

示例:

@{BarBeacon.location} is null

不是null

<expression> is not null

结果是布尔值。

请注意,null表示表达式没有计算值。

示例:

@ is not null

为null

<expression> has null

<expression> 一定是列表。结果是布尔值。

用于标识列表是否包含至少一个null值。

示例:

["foo", "bar", null] has null --  returns true.
["foo", "bar", ""] has null -- returns false because "" is not considered as null.

=

<expression1> == <expression2>

<表达式1>和<表达式2>必须具有相同的数据类型。 结果是布尔值。

示例:

3.14 == 42
"foo" == "bar"

!=

<expression1> != <expression2>

<表达式1>和<表达式2>必须具有相同的数据类型。 结果是布尔值。

示例:

3.14 != 42
"foo" != "bar"

>

<expression1> > <expression2>

可以将日期时间与日期时间进行比较。

只能将Datetimeonly与Datetimeonly进行比较。

可以将整数或十进制与整数或十进制进行比较。

任何其他组合都是禁止的。

结果是布尔值。

示例:

3.14 > 42

>=

<expression1> >= <expression2>

可以将日期时间与日期时间进行比较。

只能将Datetimeonly与Datetimeonly进行比较。

可以将整数或十进制与整数或十进制进行比较。

任何其他组合都是禁止的。

结果是布尔值。

示例:

42 >= 3.14

<>

<expression1> < <expression2>

可以将日期时间与日期时间进行比较。

只能将Datetimeonly与Datetimeonly进行比较。

可以将整数或十进制与整数或十进制进行比较。

任何其他组合都是禁止的。

结果是布尔值。

示例:

42 < 3.14

<>

<expression1> <= <expression2>

可以将日期时间与日期时间进行比较。

只能将Datetimeonly与Datetimeonly进行比较。

可以将整数或十进制与整数或十进制进行比较。

任何其他组合都是禁止的。

结果是布尔值。

示例:

42 <= 3.14

算术

+

<expression1> + <expression2>

两个表达式都必须是数字(整数或小数)。

结果也是数字。

示例:

1 + 2 -- returns 3

-

<expression1> - <expression2>

两个表达式都必须是数字(整数或小数)。

结果也是数字。

示例:

2 - 1 -- returns 1

/

<expression1> / <expression2>

两个表达式都必须是数字(整数或小数)。

结果也是数字。

<expression2> 不得等于0(返回0)。

示例:

4 / 2 -- returns 2

*

<expression1> * <expression2>

两个表达式都必须是数字(整数或小数)。

结果也是数字。

示例:

3 * 4 -- returns 12

%

<expression1> % <expression2>

两个表达式都必须是数字(整数或小数)。

结果也是数字。

示例:

3 % 2 -- returns 1.

数学

数字

<expression> is numeric

表达式的类型是整数或十进制。

示例:

@ is numeric

integer

<expression> is integer

表达式的类型是整数。

示例:

@ is integer

小数

<expression> is decimal

表达式的类型是十进制。

示例:

@ is decimal

字符串

+

<string> + <expression>
<expression> + <string>

它连接两个表达式。

一个表达式必须是链式字符串。

示例:

"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>

在dateTime、dateTimeOnly或duration后附加持续时间。

示例:

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

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now