循環語句

本説明頁面上的資訊同時適用於 CXone StudioDesktop Studio

循環語句允許指令碼重複執行一項或一組任務,直到滿足指定的結束條件。如果要對一組成員中的每個成員執行一系列任務,這將很有幫助。

循環語句的關鍵字是:

循環語句總是需要條件代碼塊。代碼塊用大括號 ( { } ) 括起來。您可以在代碼塊中包含以下可選語句:

BREAK:終止一組循環語句。

FOR 語句

說描述:重複一條或一系列語句特定的次數。

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

詳細資料:FOR迴圈為 <start><end> 範圍內的每個整數值重複大括號 {...} 中的代碼一次。<start><end> 子句可以是運算式或文字值。每次反覆運算時,範圍中的當前值都會指派給迴圈標題行中命名的變數 <var>。這個變數叫做反覆運算器變數。

可選的 BREAK 子句會終止迴圈。然後,指令碼繼續執行結尾大括號後的代碼或轉到下一個 Studio 動作Closed 在 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 動作Closed 在 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 動作Closed 在 Studio 指令碼內執行一個流程,如收集客戶資料、播放訊息或音樂,或將聯絡人路由至客服專員。

樹狀視圖屬性

在樹狀視圖標籤上,REPEAT 顯示為 REPEAT 0

需要配置的屬性如下:

  • Comment:新增關於重複的備註。
  • Line Number:編輯器中命令所在的行號。
  • Repeat:輸入一個求值為數字值的運算式,以定義您想要重複指定行為的次數。

要完成REPEAT,右鍵點擊REPEAT 0,然後選擇希望指令碼重複的行為。您可以新增多個行為。配置每個選定的行為。

範例

要在樹狀視圖中檢視此範例,請將其複製並貼上到「文字視圖」標籤,然後點擊「樹狀視圖」標籤。


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

BREAK 語句

描述:立即結束迴圈。

語法:BREAK

詳細資訊:當到達 BREAK 語句時,當前迴圈立即結束。指令碼繼續執行迴圈下方的 snippet 代碼,直至完成。

BREAK 為可選項。如果不包括,迴圈將繼續,直到滿足定義的停止條件。