Declaraciones en ciclo
La información de esta página de ayuda aplica tanto a CXone Studio como a Desktop Studio.
Las declaraciones en ciclo le permiten hacer que el script realice repetidamente una tarea o un conjunto de tareas hasta que se cumpla la condición final especificada. Esto es útil si tiene una serie de tareas que desea realizar en cada miembro de un conjunto.
Las palabras clave para estas declaraciones en ciclo son:
- FOR: Ejecuta las declaraciones incrustadas siempre que se evalúe como verdadera una expresión booleana Un tipo de datos que tiene dos valores posibles: verdadero y falso..
- FOREACH: Ejecuta una vez las declaraciones incrustadas por cada elemento de una matriz.
- REPEAT: Ejecuta las declaraciones incrustadas un número específico de veces.
Las declaraciones de ciclo siempre requieren bloques de código condicional. Los bloques van encerrados entre llaves (
BREAK: Finaliza un conjunto de declaraciones en ciclo.
FOR Declaraciones
Descripción: Repite una declaración o una serie de declaraciones un número específico de veces.
Sintaxis: FOR <var> = <start> TO <end> <{ ... [BREAK] }>
Detalles: Un ciclo FOR repite el código entre llaves {...} una vez para cada valor de número entero en el rango de <start> a <end>. Las cláusulas <start> y <end> pueden ser expresiones o valores literales. Con cada iteración, se asigna el valor actual en el rango a una variable <var> que se nombra en la línea de encabezado del ciclo. Esto se llama variable iteradora.
La cláusula opcional BREAK aborta el ciclo. Después continúa el script, ejecutando el código después de la llave de cierre o pasando por la siguiente Studio acción Realiza un proceso dentro de un scripts de Studio, tales como la recopilación de datos de clientes, reproducir un mensaje o música, o el enrutamiento de un contacto a un agente..
Se evalúa una vez el valor inicial de <start> y <end>, al comienzo del ciclo. Puede modificar el valor <end> en las declaraciones de código entre llaves {...}. También puede modificar el valor de <var> desde dentro del ciclo.
No es necesario que el valor de <start> sea menor que <end>. Si <end> es menor que <start>, el ciclo corre hacia abajo. Siempre ocurrirá al menos una iteración del ciclo. Este comportamiento es diferente al de otros lenguajes de programación. Los siguientes ejemplos ilustran este comportamiento.
En este ejemplo, <end> es mayor que <start>. El resultado es ph="123456789".
FOR i=1 TO 9
{
ph = "{ph}{i}"
}
En este ejemplo, <start> es mayor que <end>. El resultado es ph="987654321".
FOR i=9 TO 1
{
ph = "{ph}{i}"
}
Ejemplos
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 Declaraciones
Descripción: Repite una vez el ciclo por cada elemento en el arreglo de cadenas especificado.
Formato: FOREACH <var> IN <array> <{ ... [ BREAK ] }>
Detalles: Un FOREACH ciclo repite una vez el código entre llaves {...} por cada elemento de un arreglo de cadenas o de un arreglo de objetos de datos dinámicos. El valor de cada elemento del arreglo se asigna a la variable <var> que se indica en la línea de encabezado del ciclo.
La cláusula opcional BREAK aborta el ciclo. Después continúa el script, ejecutando el código después de la llave de cierre o pasando por la siguiente Studio acción Realiza un proceso dentro de un scripts de Studio, tales como la recopilación de datos de clientes, reproducir un mensaje o música, o el enrutamiento de un contacto a un agente..
El siguiente ejemplo muestra un ciclo FOREACH que incluye una IF declaración.
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 Declaraciones
Descripción: Ejecuta los comandos designados un número especificado de veces.
Sintaxis: REPEAT <expression> <{ ... [ BREAK ]}>
Detalles: Este comando repite el código contenido entre las llaves {...} el número de veces definido por <expression>. La <expression> puede ser cualquier entero positivo literal o una expresión que resulte en cero o un entero positivo.
Incluya la palabra clave opcional
Propiedades de la Vista de Árbol
En la pestaña Vista de Árbol,
Se pueden configurar las siguientes propiedades:
- Comment: Añadir un comentario sobre la repetición.
- Line Number: El número de línea en el que se encuentra el comando en el editor.
-
Repeat: Ingresar una expresión que devuelva un valor numérico que defina la cantidad de veces que desea que se repitan los comportamientos especificados.
Para terminar
Ejemplo
Para ver este ejemplo en la Vista de Árbol, cópielo y péguelo en la pestaña Vista de Texto y luego haga clic en la pestaña Vista de Árbol.
REPEAT 10
{
phone = "{phone}{random(10)}"
}
BREAK Declaraciones
Descripción: Finaliza inmediatamente un ciclo.
Sintaxis: BREAK
Detalles: Cuando se alcanza la instrucción BREAK, finaliza inmediatamente el ciclo actual. El script continúa ejecutando el fragmento de código debajo del ciclo hasta que se complete.
BREAK es opcional. Si no se incluye, continúa el ciclo hasta que se cumple la condición de parada definida.