循环语句
本帮助页面上的信息同时适用于 CXone Studio 和 Desktop Studio。
循环语句允许脚本重复执行一项或一组任务,直到满足指定的结束条件。如果要对一组任务中的每个成员执行一系列任务,循环语句会很有帮助。
循环语句的关键字有:
- FOR:只要布尔 一种数据类型,它有两种可能值:真和假。表达式求值为 true,就执行嵌入的语句。
- FOREACH:对数组中的每个元素执行一次嵌入语句。
- REPEAT:执行指定次数的嵌入语句。
循环语句始终需要条件代码块。代码块用大括号 (
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> 可以是任何正整数,也可以是求值为零或正整数的表达式。
包含可选的
树状视图属性
在“树状视图属性”选项卡上,
它有以下属性可配置:
- Comment:添加有关重复的注释。
- Line Number:编辑器中命令所在的行号。
-
Repeat:输入求数值的表达式,以定义要重复指定行为的次数。
要完成
示例
要在“树状视图”中查看此示例,请复制并粘贴到“文本视图”选项卡中,然后单击“树状视图”选项卡。
REPEAT 10
{
phone = "{phone}{random(10)}"
}
BREAK 语句
说明:立即结束循环。
语法:BREAK
详细信息: BREAK语句执行完毕后,当前循环立即结束。脚本将继续执行循环下方的代码片段,直至完成。
BREAK 是可选项。如果不包含,循环将继续执行,直到满足定义的停止条件。