循环语句

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

循环语句允许脚本重复执行一项或一组任务,直到满足指定的结束条件。如果要对一组任务中的每个成员执行一系列任务,循环语句会很有帮助。

循环语句的关键字有:

循环语句始终需要条件代码块。代码块用大括号 ( { } ) 括起来。您可以在代码块中包含以下可选语句:

BREAK:终止循环语句集。

FOR 语句

说明:重复语句或一系列语句特定次数。

语法:FOR <var> = <start> TO <end> <{ ... [BREAK] }>

详细信息:一个FOR会为从 <start><end> 的范围内的每个整数值重复大括号 {...} 中的代码一次。<start><end> 子句可以是表达式或文本值。每次迭代时,该范围内的当前值都会分配给循环标题行中命名的变量 <var>。该变量称为迭代器变量。

可选的 BREAK 子句终止循环。然后,脚本继续执行结尾大括号后的代码或进入下一个 Studio 操作关闭 在 Studio 脚本中执行一个过程,如收集客户数据、播放消息或音乐或将联系人转接给坐席。

<start> 和 <end> 的初始值在循环开始时求值一次。您可以修改大括号 {...} 中代码语句的 <end> 值。也可以在循环中修改 <var> 的值。

<start> 的值不必小于 <end>。如果 <end> 小于 <start>,则循环向下遍历。循环始终至少迭代一次。这种行为与其他一些编程语言不同。以下示例说明了这种行为。

在此示例中,<end> 大于 <start>。结果为 ph="123456789"

FOR i=1 TO 9
{
	ph = "{ph}{i}"
}

在此示例中,<start> 大于 <end>。结果为 ph="987654321"

FOR i=9 TO 1
{
	ph = "{ph}{i}"
}

示例

IF TEST = 1
{
  ASSIGN Names = "Wes|Nate|Dan|Clay"
  ASSIGN EyeColors = "Blue|Blue|Brown|Brown"
  ASSIGN Signs = "Aquarius|Aries|Pisces|Leo"
  ASSIGN Foods = "Spagetti|Pizza|Sushi|Deep Fried Twinkies"
}

DYNAMIC Persons

ASSIGN PeopleCount = Names.size

FOR i = 1 TO PeopleCount
{
  ASSIGN Persons[i].Name = "{Names[i]}"
  ASSIGN Persons[i].Eyecolor = "{EyeColors[i]}"
  ASSIGN Persons[i].Sign = "{Signs[i]}"
  ASSIGN Persons[i].Food = "{Foods[i]}"
}
FOR i=1 TO 9
{
	a = "{a}{i}"
}
//Result: a="123456789"


FOR i=9 TO 1
{
	b = "{b}{i}"
}
//Result: b="987654321"

FOREACH 语句

说明: 针对指定字符串数组中的每个元素重复循环一次。

格式:FOREACH <var> IN <array> <{ ... [ BREAK ] }>

详细信息: FOREACH  循环针对字符串数组或动态数据对象数组中的每个元素重复大括号 {...} 内的代码一次。每个数组元素的值都会分配给循环标题行中命名的变量 <var>

可选的 BREAK 子句终止循环。然后,脚本继续执行结尾大括号后的代码或进入下一个 Studio 操作关闭 在 Studio 脚本中执行一个过程,如收集客户数据、播放消息或音乐或将联系人转接给坐席。

以下示例显示了一个包含 IF 语句的循环 FOREACH



IF TEST = 1 
{
	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

	}
}

REPEAT 语句

说明:执行指定次数的指定命令。

语法:REPEAT <expression> <{ ... [ BREAK ]}>

详细信息:该命令重复大括号 {...} 中的代码,重复次数由 <expression> 由定义。<expression> 可以是任何正整数,也可以是求值为零或正整数的表达式。

包含可选的 BREAK 关键字以终止循环。然后,脚本继续执行 REPEAT 块结尾大括号后的代码,或继续执行下一个 Studio 操作关闭 在 Studio 脚本中执行一个过程,如收集客户数据、播放消息或音乐或将联系人转接给坐席。

树状视图属性

在“树状视图属性”选项卡上,REPEAT 显示为 REPEAT 0

它有以下属性可配置:

  • Comment:添加有关重复的注释。
  • Line Number:编辑器中命令所在的行号。
  • Repeat:输入求数值的表达式,以定义要重复指定行为的次数。

要完成 REPEAT,请右键单击 REPEAT 0 并选择希望脚本重复的行为。您可以添加多个行为。配置每个选定的行为。

示例

要在“树状视图”中查看此示例,请复制并粘贴到“文本视图”选项卡中,然后单击“树状视图”选项卡。


REPEAT 10
{
	phone = "{phone}{random(10)}"
}	

BREAK 语句

说明:立即结束循环。

语法:BREAK

详细信息: BREAK语句执行完毕后,当前循环立即结束。脚本将继续执行循环下方的代码片段,直至完成。

BREAK 是可选项。如果不包含,循环将继续执行,直到满足定义的停止条件。