循環語句
本説明頁面上的資訊同時適用於 CXone Studio 和 Desktop Studio。
循環語句允許指令碼重複執行一項或一組任務,直到滿足指定的結束條件。如果要對一組成員中的每個成員執行一系列任務,這將很有幫助。
循環語句的關鍵字是:
- FOR:只要布爾
具有兩種可能值的子了類型:true 和 false。運算式求值為 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>可以是任何正整數,也可以是求值為零或正整數的運算式。
包含可選的 在 Studio 指令碼內執行一個流程,如收集客戶資料、播放訊息或音樂,或將聯絡人路由至客服專員。。
樹狀視圖屬性
在樹狀視圖標籤上,
需要配置的屬性如下:
- Comment:新增關於重複的備註。
- Line Number:編輯器中命令所在的行號。
-
Repeat:輸入一個求值為數字值的運算式,以定義您想要重複指定行為的次數。
要完成
範例
要在樹狀視圖中檢視此範例,請將其複製並貼上到「文字視圖」標籤,然後點擊「樹狀視圖」標籤。
REPEAT 10
{
phone = "{phone}{random(10)}"
}
BREAK 語句
描述:立即結束迴圈。
語法:BREAK
詳細資訊:當到達 BREAK 語句時,當前迴圈立即結束。指令碼繼續執行迴圈下方的 snippet 代碼,直至完成。
BREAK 為可選項。如果不包括,迴圈將繼續,直到滿足定義的停止條件。