Instruções de loop

As informações nesta página de ajuda são aplicáveis tanto ao CXone Studio quanto ao Desktop Studio.

Instruções de loop permitem que você faça o script desempenhar uma tarefa ou uma série de tarefas repetidamente até que a condição específica de encerramento seja atendida. Isso é útil se você tem uma série de tarefas que quer executar em cada membro de um conjunto.

As palavras-chave para instruções de loop são:

Instruções de loop sempre exigem blocos de código condicionais. Blocos são colocados dentro de chaves ( { } ). É possível incluir as seguintes instruções opcionais no bloco:

BREAK: encerra um conjunto de instruções de loop.

Instruções FOR 

Descrição: Repete uma instrução ou uma série de instruções por um número específico de vezes.

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

Detalhes: Um loop FOR repete o código dentro das chaves {...} uma vez para cada valor de número inteiro no intervalo de <start> a <end>. As cláusulas <start> e <end>podem ser expressões ou valores literais. Com cada iteração, o valor atual no intervalo é atribuído a uma variável <var> nomeada na linha de cabeçalho do loop. Isso é chamado de variável da iteração.

A cláusula BREAK opcional aborta o loop. O script é então continuado, executando o código após a chave final ou movendo-se para a próxima açãoFechado Executa um processo dentro de um script do Studio, como coletar dados do cliente, reproduzir uma mensagem ou música ou rotear um contato para um agente. Studio.

O valor inicial de <start> e <end> são avaliados uma vez, no início do loop. Você pode modificar o valor <end> nas declarações do código dentro das chaves {...}. Também é possível modificar o valor de <var> de dentro do loop.

O valor de <start> não precisa ser menor que <end>. Se <end> for menor que <start>, o loop atravessa para baixo. Pelo menos uma iteração do loop sempre ocorrerá. Este comportamento é diferente em algumas outras linguagens de programação. Os exemplos a seguir ilustram este comportamento.

Neste exemplo, <end> é maior que <start>. O resultado é ph="123456789".

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

Neste exemplo, <start> é maior que <end>. O resultado é ph="987654321".

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

Exemplos

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"

Instruções FOREACH

Descrição: repete um loop uma vez para cada elemento em uma matriz de string especificada.

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

Detalhes: um loop FOREACH repete o código dentro das chaves {...} uma vez para cada elemento de uma matriz de string ou matriz de objeto de dados dinâmico. O valor de cada elemento da matriz é atribuído a uma variável <var> nomeada na linha de cabeçalho do loop.

A disposição opcional BREAK aborta o loop. O script é então retomado, executando o código após a chave de encerramento ou indo para a próxima açãoFechado Executa um processo dentro de um script do Studio, como coletar dados do cliente, reproduzir uma mensagem ou música ou rotear um contato para um agente. Studio.

O exemplo a seguir mostra um loop FOREACH que inclui uma instrução IF.



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

	}
}

Instruções REPEAT 

Descrição: executa os comandos designados um número especificado de vezes.

Sintaxe: REPEAT <expression> <{ ... [ BREAK ]}>

Detalhes:  este comando repete o código entre chaves {...} pelo número de vezes definido pela <expression>. <expression> pode ser qualquer número inteiro positivo ou uma expressão avaliada como zero ou um número inteiro positivo.

Inclua a palavra-chave BREAK opcional para abortar o loop. O script é então retomado, executando o código após a chave de fechamento do bloqueio REPEAT ou continua para a próxima açãoFechado Executa um processo dentro de um script do Studio, como coletar dados do cliente, reproduzir uma mensagem ou música ou rotear um contato para um agente. Studio.

Propriedades da visualização em árvore

Na guia Exibição em árvore, REPEAT aparece como REPEAT 0.

Ela tem as seguintes propriedades para configuração:

  • Comment: adiciona um comentário sobre a repetição.
  • Line Number: o número da linha no qual o comando está inserido no editor.
  • Repeat: insere uma expressão avaliada como um valor numérico que define o número de vezes que você quer que um comportamento especificado seja repetido.

Para concluir REPEAT, clique o com o botão direito do mouse em REPEAT 0 e selecione o comportamento que você quer que o script repita. É possível adicionar mais de um comportamento. Configure cada comportamento selecionado.

Exemplo

Para ver este exemplo na Visualização em árvore, copie e cole na guia Visualização em texto e, em seguida, clique na guia Visualização em árvore.


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

Instruções BREAK 

Descrição: encerra imediatamente um loop.

Sintaxe: BREAK

Detalhes: Quando a instrução BREAK é alcançada, o loop atual é imediatamente encerrado. O script continua a executar o código snippet abaixo do loop até o fim.

BREAK é opcional. Se não estiver incluído, o loop continuará até que a condição de pausa definida seja atendida.