高级表达式编辑器语法 syntax

下面列出了使用高级表达式编辑器时的语法基础知识。

括号和表达式优先级 parentheses-and-expression-priority

可使用括号使复杂表达式更易读。 (<表达式>)​等同于​<表达式>。 括号也可用于定义评估顺序和关联性。

将按从左到右的顺序计算表达式。 必须应用算术运算符的相关性:乘法和除优先于加法和减法。 为了限定特定的顺序,必须添加括号以分隔操作。 例如:

表达式
评估
4 + 2 * 10
  • “*”的优先级高于“+”:2 * 10的计算→20
  • 4 + 20 → 24
(4 + 2) * 10
  • 括号将更改优先级: (4 + 2)→6计算
  • 6 * 10 → 60

区分大小写 case-sensitivity

以下是不同的区分大小写规则:

  • 所有运算符(and、or等) 应该写成小写。 例如,<expression1><expression2>​是有效的表达式,而表达式​ <expression1>AND<expression2> ​则无效。
  • 所有函数名称都区分大小写。 例如,inAudience()​有效,而函数​ INAUDIENCE() ​无效。
  • 字段引用和常量值区分大小写:它们不是语言的内置元素(与运算符和函数相反),而是由最终用户创作。

返回的表达式类型 returned-expression-type

根据使用上下文,表达式编辑器可以返回不同的值。

高级表达式编辑器用法
预期返回表达式类型
条件(数据源条件、日期条件)
布尔
自定义计时器
dateTimeOnly
操作参数映射
“任一”
AI知识参考

本节包含结构化知识,用于支持与本主题相关的解释、检索和问答。

要全面了解相关信息,应将此信息与本页上的文档相结合。 这两个源都不是独立的;页面描述了功能,而本节提供了其他上下文来帮助消除术语、意图、适用性和约束条件的歧义。

  • TL;DR:​本页介绍了历程高级表达式编辑器的核心语法规则 — 运算符优先级和括号,运算符和函数区分大小写,以及每个编辑器上下文的预期返回类型。

意图:

  • 通过用括号括住子表达式来控制表达式计算顺序
  • 小写形式的写入运算符(andornot)以避免语法错误
  • 使用大小写正确的函数名称(例如inAudience()而非INAUDIENCE()
  • 了解条件必须返回布尔值,自定义计时器必须返回dateTimeOnly,并且操作参数映射可以返回任何类型

术语表:

  • 表达式优先级:计算运算符的顺序;乘法和除法优先于加法和减法​(产品特定)
  • 区分大小写:在高级编辑器中,运算符必须为小写,函数名称区分大小写,字段引用区分大小写,且由用户​ (特定于产品) ​创作
  • dateTimeOnly:自定义计时器(等待活动)表达式所需的返回类型;表示不带时区​ (产品特定) ​的日期时间

护栏:

  • 运算符(andornot等) 必须以小写形式编写 — 大写变体无效
  • 所有函数名称都区分大小写 — inAudience()有效,但INAUDIENCE()无效
  • 算术遵循标准优先顺序: */+-之前计算;使用括号覆盖
  • 条件始终返回布尔值;自定义计时器始终返回dateTimeOnly

术语:

  • 规范名称:高级表达式编辑器语法 — 首字母缩略词:none — 变体:表达式语法,编辑器语法
  • 同义词: “expression priority” = “operator precedence”; “parentheses” = “brackets”(在表达式上下文中)
  • 请勿混淆:运算符区分大小写(运算符必须为小写)≠字段引用区分大小写(字段名称由用户编写且写入时区分大小写)

常见问题解答:

  • 问:4 + 2 * 10的计算结果是60还是24? — 它的评估结果为24,因为*的优先级高于+;使用(4 + 2) * 10获得60。
  • 问:我能否在表达式中大写写AND — 否;所有运算符都必须为小写(andornot)。
  • 问:函数名是否区分大小写? — 是;inAudience()有效,但INAUDIENCE()无效。
  • 问:条件表达式必须返回什么类型? — 布尔值。
  • 问:自定义等待活动计时器表达式需要什么返回类型?dateTimeOnly
recommendation-more-help
journey-optimizer-help