Instructions de boucle

Les informations contenues dans cette page d’aide s’appliquent à la fois à CXone Studio et à Desktop Studio.

Les instructions de boucle permettent au script d’exécuter une tâche ou un ensemble de tâches de manière répétée jusqu’à ce que la condition de fin spécifiée soit remplie. Cette fonction est utile si vous souhaitez effectuer une série de tâches sur chaque membre d’un ensemble.

Les mots-clés des instructions de boucle sont les suivants :

Les instructions de boucle nécessitent toujours des blocs de code conditionnels. Les blocs sont entourés d’accolades ( { } ). Vous pouvez inclure l’instruction facultative suivante dans le bloc :

BREAK : Met fin à un ensemble d’instructions en boucle.

InstructionsFOR 

Description : Répète une instruction ou une série d’instructions un nombre spécifique de fois.

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

Détails : Une boucle FOR répète le code dans les accolades {...} une fois pour chaque valeur de nombre entier dans la plage de <start> à <end>. Les clauses <start> et <end> peuvent être des expressions ou des valeurs littérales. À chaque itération, la valeur actuelle de la plage est assignée à une variable <var> nommée dans la ligne d’en-tête de la boucle. C’est ce qu’on appelle la variable itérateur.

La clause facultative BREAK interrompt la boucle. Le script continue ensuite, exécutant le code après l’accolade de fermeture ou passant à l’actionFermé Exécute un processus au sein d’un script Studio, tel que la collecte de données client, l’écoute d’un message ou de musique, ou le routage d’un contact vers un agent. Studio suivante.

Les valeurs initiales de <start> et <end> sont évaluées une seule fois, au début de la boucle. Vous pouvez modifier la valeur <end> dans les instructions de code entre accolades {...}. Vous pouvez également modifier la valeur de <var> à l’intérieur de la boucle.

La valeur de <start> ne doit pas nécessairement être inférieure à <end>. Si <end> est plus petit que <start>, la boucle se déplace vers le bas. Il y aura toujours au moins une itération de la boucle. Ce comportement est différent de celui de certains autres langages de programmation. Les exemples suivants illustrent ce comportement.

Dans cet exemple, <end> est plus grand que <start>. Le résultat est ph="123456789".

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

Dans cet exemple, <start> est plus grand que <end>. Le résultat est ph="987654321".

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

Exemples

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"

Instructions FOREACH

Description : Répète une boucle une fois pour chaque élément du tableau de chaînes spécifié.

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

Détails : Une boucle FOREACH répète le code dans les accolades {...} une fois pour chaque élément d’un tableau de chaînes ou d’un tableau d’objets de données dynamiques. La valeur de chaque élément du tableau est affectée à une variable <var> nommée dans la ligne d’en-tête de la boucle.

La clause facultative BREAK interrompt la boucle. Le script continue ensuite, exécutant le code après l’accolade de fermeture ou passant à l’actionFermé Exécute un processus au sein d’un script Studio, tel que la collecte de données client, l’écoute d’un message ou de musique, ou le routage d’un contact vers un agent. Studio suivante.

L’exemple suivant montre une boucle FOREACH qui inclut une instruction 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

	}
}

InstructionsREPEAT 

Description : Exécute les commandes désignées un nombre spécifié de fois.

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

Détails :  Cette commande répète le code contenu dans les accolades {...} un certain nombre de fois défini par <expression>. <expression> peut être un entier positif littéral ou une expression qui s’évalue à zéro ou à un entier positif.

Inclure le mot-clé facultatif BREAK pour interrompre la boucle. Le script continue ensuite, en exécutant le code après le crochet de fermeture du bloc REPEAT ou passe à l’actionFermé Exécute un processus au sein d’un script Studio, tel que la collecte de données client, l’écoute d’un message ou de musique, ou le routage d’un contact vers un agent. Studio suivante.

Propriétés de l’arborescence

Dans l’onglet Arborescence, REPEAT apparaît sous la forme REPEAT 0.

Les propriétés suivantes doivent être configurées :

  • Comment : Ajoutez un commentaire sur la répétition.
  • Line Number : Le numéro de la ligne sur laquelle se trouve la commande dans l’éditeur.
  • Repeat : Saisissez une expression qui évalue une valeur numérique pour définir le nombre de fois que vous voulez que les comportements spécifiés se répètent.

Pour compléter REPEAT, cliquez avec le bouton droit de la souris sur REPEAT 0 et sélectionnez le comportement que vous voulez que le script répète. Vous pouvez ajouter plusieurs comportements. Configurez chaque comportement sélectionné.

Exemple

Pour voir cet exemple en arborescence, faites un copier-coller dans l’onglet Vue textuelle, puis cliquez sur l’onglet Arborescence.


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

InstructionsBREAK 

Description : Termine immédiatement une boucle.

Syntaxe : BREAK

Détails : Lorsque l’instruction BREAK est atteinte, la boucle en cours se termine immédiatement. Le script continue d’exécuter l’extrait de code situé sous la boucle jusqu’à ce qu’il soit terminé.

BREAK est facultatif. Si non inclus, la boucle continue jusqu’à ce que la condition d’arrêt définie soit remplie.