声明

本帮助页面上的信息同时适用于 CXone StudioDesktop Studio

语句定义脚本执行时的操作。这包括创建变量、分配新值、执行计算以及根据给定条件做出逻辑选择。有些语句只执行一项任务,如为变量赋值。其他语句则会影响脚本的流程。语句按逻辑顺序执行,但每次运行脚本时,顺序都可能发生变化。

代码片段中的语句由一行或多行代码组成。简单的一行语句可能会创建一个变量并为其赋值,如下所示:

ASSIGN firstName = "Beowulf"

复杂的语句可能有许多嵌套的行组,如下所示:

ASSIGN Names="Odin|Freya|Thor|Loki" ASSIGN SubCounter=1 FOREACH Name IN Names { IF Name = "Odin" | Name = "Freya" { ASSIGN NewNames[SubCounter]= "{Name}" ASSIGN SubCounter=SubCounter + 1 } }

如果代码片段中存在错误,则可以更改此代码片段中语句执行的逻辑顺序。当发生错误时,Snippet 操作立即终止。代码片段中的其余语句不会执行。而错误消息会保存在 _ERR 变量中,指示问题所在。

语句类型

您可以在代码片段中使用以下类型的语句:

  • 声明:使用声明语句声明或创建新变量、对象和函数。
  • 决策:使用决策语句可让代码片段根据您指定的条件选择要执行的任务。您可以使用它们来控制脚本中发生的事情的线性流程。
  • 循环:使用循环语句可让代码片段重复执行一项或一组任务,直到满足指定的结束条件。
  • 其他:这些语句允许您终止函数,在调试期间在 Snippet editor 窗口中显示结果,以及在代码片段中包含网络服务代理 DLL。

关键字

关键字是开始语句的命令。它们是预定义的保留术语。编译器识别关键字,然后执行与其关联的任务。

您能够在代码片段中使用的每种语句都有一个与其关联的关键字。例如,要声明变量,您可以使用 ASSIGN 关键字。或者,要生成选择语句,您可以使用 IF 关键字。该语句和关键字具有相同的名称,因此 IF 语句使用 IF 关键字。

描述了 Snippet 语言中可用的关键字以及与每个关键字相关的语句。此外还提供了完整的关键字列表

语句语法

所有语句都以关键字开头,后面为定义语句功能的单词或代码。每个语句都有自己的语法。本页的语法摘要部分描述了如何阅读语句语法。

有些语句需要条件代码。此代码设置条件并定义满足或不满足条件时发生的情况。条件代码可以是单个语句,也可以是多个语句。它必须始终用大括号 ({ }) 括起来,即使它是单行也是如此。条件代码有时称为

当编译器遇到新行或左花括号时,它会识别出语句的结束。大括号的放置有些灵活。以下格式均有效:


IF x=1 {TRACE "one" } 

IF x=1 {TRACE "one" } IF x=2 {TRACE "two" }
IF x=1 {
  TRACE "one"
}

IF x=1
{
  TRACE "one"
}

当嵌入的代码需要多个语句时,请遵循以下规则:

  • 每行放置一个语句。
  • 如果需要多个语句,请将它们放在不同的行上。这会使阅读代码变得更加容易。
  • 需要自身嵌入代码的嵌入语句可以占用多行,其遵循使用大括号的有效格式

语法摘要

在涵盖每种语句类型的在线帮助页面中,每种语句类型都有一个语法摘要。该摘要向您显示了此类语句所使用的格式。它向您显示哪些元素是必需的,哪些元素是可选的。它还展示了必须如何嵌套语法元素。

下表定义了语法摘要中的每个元素。并非所有语句都包含每个元素。解读语法摘要时,请密切注意元素的嵌套。

元素

详细信息

COMMAND

这是在该语句中使用的关键字的名称。将 COMMAND 替换为用于您正在创建的语句的关键字。

关键字不区分大小写。例如:对于编译器来说,FOREACHforeach 相同。但是,在下次打开此代码片段时,Snippet 操作会自动将所有关键字转换为大写。

在该在线帮助中,关键字始终采用大写字母格式。

<required>

尖括号表示必要元素。括号内的文本指示元素的类型,例如表达式、变量或文字值。

例如,在 FOREACH 语句语法摘要中,有两个必要元素:

FOREACH <var> in <array> { ... [ BREAK]}

在脚本中永远不要以文字方式使用尖括号以及其中的文本。将该部分替换为其描述的代码元素。例如,将 <expression> 替换为 i = 0 等表达式。

[optional]

方括号表示可选元素。括号内的文本指示您可以使用的元素类型。例如,在 IF 语法摘要中,可选的 ELSE 子句括在方括号中:[ELSE { ... }

如果使用可选元素,它必须显示在语法摘要中指示的相对于其他元素的位置。

在脚本中永远不要按字面意思使用方括号。

{ ... } 大括号表示可以使用代码块。

大括号与语法摘要中使用的尖括号和方括号不同。尖括号和方括号不应包含在代码中,但大括号必须以文字方式包含在代码中。但是,您应将语法摘要中的大括号内的省略号 (...) 替换为 Snippet 语句。

竖线 ( | )

竖线字符表示在哪里您可以选择在语句包含中的内容。例如,在 ASSIGN 语句的语法摘要中,竖线字符表示您可以选择用双引号将该值引起来:

ASSIGN <variable> = "<value>" | <value>

该语法的解释说明了该选择。

省略号 (...)

省略号表示以下两件事之一:

  • 代码在块中的位置(如果发现其位于大括号之间)。
  • 连续模式(如果发现其位于带有关键字的方括号之间)。

SELECT 语法摘要中可以找到用于指示连续模式的省略号示例:

SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

[CASE ...] 表示您可以按照既定模式继续添加所需数量的 CASE 子句。

例如,此页面上使用的 IF 语句的语法摘要为:

IF <expression> <{ ... }>

此摘要表明:

  • 关键字是 IF
  • 下一个元素是必要的表达式。
  • 最后一个元素是必要的代码块,必须用大括号括起来。

SWITCH 语句的语法摘要更加复杂:

SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>

此摘要表明:

  • 关键字是 SWITCH
  • 下一个元素是必要的变量名称。
  • 该代码块是必需的,并且必须包含带有文字值的 CASE 子句。
  • 必要的 CASE 子句可以包含可选的代码块。
  • SWITCH 语句的代码块可以包含遵循该摘要中建立的模式的附加可选 CASE 子句。
  • SWITCH 语句的代码块可以包含带有可选代码块的可选 DEFAULT 子句。