Declaraciones para la toma de decisiones
La información de esta página de ayuda aplica tanto a Studio como a Desktop Studio.
Puede hacer que su script seleccione una tarea a realizar según las condiciones que usted especifique. Utilizando una declaración de toma de decisiones, puede diseñar el script para que tenga en cuenta diferentes posibilidades o resultados. Esto le permite controlar el flujo lineal de lo que sucede en su script.
Las palabras clave para estas declaraciones son:
- IF: Selecciona qué opción ejecutar en función del resultado de la evaluación de una expresión Booleana
Un tipo de datos que tiene dos valores posibles: verdadero y falso.. - SELECT: Ejecuta la primera declaración de una serie de declaraciones que se evalúan como verdaderas.
- SWITCH: Evalúa una expresión y compara el resultado con casos definidos. Toma la acción definida en el caso coincidente.
Las declaraciones de toma de decisiones siempre requieren bloques de código condicional. Los bloques van encerrados entre llaves (
- CASE: Define una de un conjunto de posibles declaraciones por ejecutar.
- DEFAULT: Define el valor predeterminado CASE. Esta es la declaración que se ejecuta si no se puede ejecutar ninguna de las otras CASEdeclaraciones.
El análisis de cada tipo de declaración incluye un resumen de sintaxis. Estos resúmenes utilizan ciertas convenciones que indican las partes de la declaración y si es obligatoria u opcional cada parte.
Declaraciones IF y IF... ELSE
Description: Evaluates an expression and takes a branch based on the results of the evaluation.
Syntax:
Studio Action:
Details: IF statements evaluate an <expression>. Depending on how the expression evaluates, the script executes the code in the first set of curly braces { ... }. The expression must evaluate as true or the script won't execute the code.
You can include the ELSE statement if you want to specify what the script does when the expression evaluates as false. ELSE is optional. Use it when there are two possible actions and you want the script to choose between them. Use IF alone when there's only one possible action and you want the script to perform it only when the specified condition (<expression>) is met.
Use a Boolean
Un tipo de datos que tiene dos valores posibles: verdadero y falso. operator in the expression <expression> that's part of the IF statement. You must use an expression that evaluates to either true or false. For example, x=5 is a valid expression, because the value of the variable x will either equal 5 or it will not.
Además de los operadores matemáticos habituales para multiplicación, división, suma y resta, también puede utilizar estos operadores:
- Operador de módulo (%)
- Potencia/exponente (^)
- División entera (\)
- O exclusivo (~)
Se aplica a todas las expresiones el orden matemático regular de las operaciones. Todo lo que esté entre paréntesis se evalúa primero como una subunidad. En segundo lugar se evalúan los exponentes/operadores de potencia. Posteriormente se evalúan la multiplicación y la división, luego la suma y la resta. Los operadores de comparación son los últimos en evaluarse, una vez completadas todas las operaciones matemáticas.
Operadores booleanos
Puede utilizar los siguientes operadores booleanos en los snippets. Se pueden utilizar todos estos operadores con comparaciones
| SÍMBOLO del operador | NOMBRE DEL OPERADOR | Detalles |
|---|---|---|
| = | Igual | Si los dos lados de la expresión son equivalentes, la expresión da como resultado |
| != | No es igual a | Si no son equivalentes los dos lados de la expresión, se evalúa la expresión como |
| > | Más-grande-que |
Si el lado derecho de la expresión es menor que el lado izquierdo, la expresión da como resultado |
| >= | Mayor-que-o-igual |
Si el lado derecho de la expresión es menor o igual que el lado izquierdo, la expresión da como resultado |
| < | Menor-que |
Si el lado izquierdo de la expresión es menor que el lado derecho, la expresión da como resultado |
| <= | Menor-o-igual |
Si el lado izquierdo de la expresión es menor o igual que el lado izquierdo, la expresión da como resultado |
| & | y | Si todas las subexpresiones resultan verdaderas, la expresión completa da como resultado |
| | | o | Si cualquiera de las subexpresiones resulta verdadera, la expresión da como resultado |
Studio does not support having more than one
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Example
IF TEST = 1
{
ASSIGN contactID = "123456780"
ASSIGN customerName = "XYZ International"
ASSIGN CBWindowStart = #"{date} 8:00 AM"
ASSIGN CBWindowEnd = #"{date} 4:30 PM"
}
//String Comparison
IF customerName = "ABC Corporation"
{
ASSIGN contractLevel = "Gold"
}
ELSE
{
ASSIGN contractLevel = "Silver"
}
//Numeric Comparision
IF contactID % 10 = 0
{
ASSIGN logCall = 1
}
ELSE
{
ASSIGN logCall = 0
}
//DateTime Comparison
ASSIGN myTime = #"{time}"
IF myTime >= CBWindowStart && myTime <= CBWindowEnd
{
ASSIGN offerCallback = "True"
}
ELSE
{
ASSIGN offerCallback = "False"
}
SELECT Declaraciones
Descripción: Realiza un conjunto de comandos que se basan en la primera expresión que se evalúe como verdadera.
Sintaxis:
Detalles: En una declaración SELECT, el script evalúa cada CASE <expression> comenzando desde arriba y bajando hasta encontrar el primero que se evalúa como verdadero. Para que la primera CASE <expression> se evalúe como verdadera, SELECT ejecuta el código entre llaves [{ ... }] de esa CASE <expression>.
Si ninguna CASE <expression> se evalúa como verdadera, el script ejecuta el código opcional DEFAULT { ... }.
Se espera al menos una declaración CASE. Si se incluye, la declaración DEFAULT { ... } debe ser la última cláusula en la lista de declaraciones CASE.
Por ejemplo:
SELECT
{
CASE name="Odin" { agentid = 123 }
CASE name="Frigg" { agentid = 345 }
CASE name.length = 0
{
ASSIGN agentid = -1
ASSIGN error = "Invalid name"
}
DEFAULT { ASSIGN agentid = 999 }
}
SWITCH Declaraciones
Descripción: Evalúa la variable especificada y realiza la acción definida por el CASE que concida.
Sintaxis: SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Detalles: Una SWITCH declaración compara el valor de una variable <var> con el valor literal de cada CASE <literal>. Cuando se encuentra un CASE que coincida, se ejecuta SWITCH y se bifurca al código entre llaves { ... } asociado con el CASE <literal> que coincida.
Si no coincide ningún CASE <literal> con <var>, se ejecuta el código opcional
SWITCH sólo puede evaluar una variable. No puede evaluar una expresión. Si usted usa una expresión, no funcionará su script.
Se espera al menos un CASE. Todas las declaraciones CASE deben tener el mismo tipo de <literal>. La primera CASE determina el tipo de las declaraciones CASE restantes. Si una declaración CASE tiene un tipo diferente al de la primera CASE, se produce un error del compilador. Los siguientes son todos tipos literales válidos:
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Por ejemplo:
IF TEST = 1
{
ASSIGN MyDate = "07/03/2023" //This date falls on a Monday
}
ASSIGN MyDow = MyDate.asdatedow
SWITCH MyDow
{
CASE 0 { ASSIGN NewToday = "Sunday" }
CASE 1 { ASSIGN NewToday = "Monday" }
CASE 2 { ASSIGN NewToday = "Tuesday" }
CASE 3 { ASSIGN NewToday = "Wednesday" }
CASE 4 { ASSIGN NewToday = "Thursday" }
CASE 5 { ASSIGN NewToday = "Friday" }
CASE 6 { ASSIGN NewToday = "Saturday" }
}
Si más de un CASE usa el mismo código { ... }, no es necesario incluir un bloque de código después de cada uno. Al contrario, enumere las palabras clave CASE una tras otra, con el código después del último CASE que use ese código. Esto se llama caso fallido. Está permitido siempre que exista un caso para que SWITCH encuentre un bloque de código. El siguiente ejemplo muestra un caso fallido. Para los CASE 1, 2 y 3, la salida es el valor hi. Para los CASE 5 y 6, la salida es bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Caso de Uso: SWITCH le permite obtener resultados específicos dependiendo de lo que contenga la variable especificada. Por ejemplo, puede hacer que el script evalúe una variable que contenga códigos de área. Puede definir un CASE para cada código de área posible y hacer que el script agregue un valor a la variable state que coincida con el estado al que está asignado el código de área. Por ejemplo:
SWITCH areaCode
{
CASE 603 { state = "New Hampshire" }
CASE 614 { state = "Ohio" }
CASE 628 { state = "California" }
CASE 646 { state = "New York" }
CASE 667 { state = "Maryland" }
}
CASE Declaraciones
Description: Defines one of a set of possible statements to be executed. Used with SWITCH or SELECT.
Syntax: varies; see SWITCH or SELECT
Studio Action:
Details: CASE must be used in the conditional code block of a SWITCH or SELECT statement. Add one or more CASE statements to define the possible blocks for the script to execute. At least one CASE is required.
Related: Include a DEFAULT statement to define the case that's used if none of the specified CASE statements apply.
DEFAULT Declaraciones
Descripción: Define el bloque CASE que se usa si no aplica ninguno de los CASE especificados. Se utiliza con SWITCH y SELECT.
Sintaxis: Varía; consulte CAMBIAR o SELECCIONAR
Detalles: DEFAULT debe usarse con los bloques SWITCH o SELECT, y debe haber al menos una declaración CASE. DEFAULT no se puede utilizar por sí solo. DEFAULT siempre es opcional. Debe ser la última cláusula en la lista de declaraciones CASE.
ELSE Declaraciones
Descripción: Define la declaración que ejecuta el script si la expresión IF se evalúa como falsa.
Sintaxis:
Detalles: ELSE siempre es opcional. Puede incluir la declaración ELSE si desea especificar qué hace el script cuando la expresión resulta falsa. Úselo cuando haya dos acciones posibles y desee que el script elija entre ellas.