Expresiones
La información de esta página de ayuda se aplica tanto a Studio como a Desktop Studio.
Una expresión es cualquier cosa en su script que compara un valor o da como resultado un valor. Por ejemplo,
Cualquiera de los ejemplos anteriores también podrían ser declaraciones de asignaciones. Una declaración de asignación asigna el valor del lado derecho del signo igual a la variable del lado izquierdo. Las asignaciones de Variable no SOn expresiones.
Las expresiones se pueden usar para:
- Realizar cálculos matemáticos o algebraicos.
- Comparar DOs valores y realizar una acción según el resultado de la comparación.
- Tomar decisiones lógicas dependiendo de si se evalúa una expresión como verdadera o falsa.
Los valores que se comparan en una expresión pueden estar compuestos de letras, números o una combinación de ambos. También pueden incluir variables. En Studio hay tres tipos de expresiones: numérica, de cadena y booleana.
Inténtelo
Descargue el script de ejemplos de expresiones e impórtelo en Studio. Los ejemplos de esta página de ayuda están disponibles en las acciones de
Expresiones NUMÉRICAS
Las expresiones NUMÉRICAS solo incluyen numerales y operadores matemáticos o booleanos, como +, -, entre otros. También pueden incluir referencias a variables, si las variables contienen valores numéricos utilizados en los cálculos.
Las expresiones numéricas se usan en los snippets y para configurar las propiedades de las acciones de Studio. Por ejemplo, en la acción IF, usted configura la propiedad Expression con una expresión que se evaluará como el mecanismo de toma de decisiones de la acción. Puede hacer lo mismo en un snippet usando la palabra clave
Sintaxis de las expresiones NUMÉRICAS
A data type that has two possible values: true and false.. Si encierra una expresión NUMÉRICA entre comillas, se trata como texto. Por ejemplo, c1 = 123 + 456 se evalúa como 579, pero
c2 = "123 + 456" genera 123 + 456.
No encierre las variables usadas en expresiones numéricas en llaves y comillas dobles. Esto da como resultado un error en su script.
Evaluación de expresiones numéricas
En una expresión numérica, si el script puede evaluar los valores numéricos como números, lo hace. Esto implica que:
- Todo lo que no se pueda evaluar como un valor numérico, como letras o una palabra, se considera una referencia de Variable.
- Si los caracteres no numéricos de la expresión SOn una Variable en el script con un valor de cadena, el script ignora los caracteres no numéricos y evalúa la parte numérica de la expresión original.
- Si los caracteres no numéricos de la expresión SOn una variable con un valor numérico, el script incluye ese valor en la evaluación de la expresión.
- Si los caracteres no numéricos de la expresión no SOn una Variable en el script, el script ignora esos caracteres en la expresión original.
En el siguiente ejemplo, el script intenta evaluar nextNum como variable porque no se puede evaluar como número: c1 = 123 + 456 + nextNum. Los siguientes ejemplos muestran el resultado de tres escenarios dependiendo de si nextNum es una variable y de cuál es su valor.
Cuando nextNum es una Variable con un valor de cadena, el resultado es c1 = 579:
ASSIGN nextNum = "my string"
ASSIGN c2 = 123 + 456 + nextNum
Cuando nextNum es una Variable con un valor numérico, el resultado es c2 = 1368:
ASSIGN nextNum = 789
ASSIGN c3 = 123 + 456 + nextNum
Cuando nextNum no es una variable, el resultado es c3 = 579:
ASSIGN c3 = 123 + 456 + nextNum
Si evalúa una expresión que incluye DOs variables que contienen valores numéricos que se tratan como valores de cadena, el script convierte los valores en números y los evalúa en consecuencia. El resultado del siguiente ejemplo es c4 = 50:
ASSIGN nextNum = "20"
ASSIGN otherNum = "30"
ASSIGN c4 = nextNum + otherNum
Puede incluir expresiones numéricas en valores de cadena si encierra la expresión entre llaves. Por ejemplo:
ASSIGN nextNum = 6
ASSIGN otherNum = 7
ASSIGN c5 = "There are {nextNum + otherNum} fish in the aquarium."
Números con ceros a la izquierda
Hay una diferencia en la manera en que Studio maneja los números cuando se tratan como cadenas versus cuando se tratan como números. Cuando se tratan los números como cadena, pueden tener ceros a la izquierda. Si suma DOs variables que contienen valores de cadena numérico con ceros a la izquierda, los ceros a la izquierda se eliminan. Por ejemplo, el resultado de la siguiente expresión es c6=59:
ASSIGN nextNum = "00020"
ASSIGN otherNum = "000039"
ASSIGN c6 = nextNum+otherNum
Si necesita que el valor resultante tenga ceros iniciales, puede usar la función
Expresiones de cadena
Las expresiones de cadena incluyen caracteres alfanuméricos y especiales, como #, @, entre otros. La sintaxis para expresiones con cadena es similar a la sintaxis para asignar valores de cadena a las variables:
- En los snippets, los valores de cadena en las expresiones siempre deben estar entre comillas simples o dobles. Esto es lo mismo que para los valores de cadena
- Para realizar la sustitución de variables en expresiones de cadena, encierre el nombre de la variable entre llaves.
- Algunos caracteres, como las comillas dobles, se consideran código. Para incluir estos caracteres en los valores de cadena, debe utilizar secuencias de escape.
Comparaciones de cadenas
Se pueden evaluar las cadenas como valores en las expresiones booleanas. Por ejemplo, puede usar la siguiente expresión en una instrucción
customer = "Grendel Cainson"
Cuando customer contiene el valor exacto Grendel Cainson, el resultado es true. Para cualquier otro valor, el resultado es false.
Puede utilizar operadores mayor que y menor que en las comparaciones de las cadenas. En este tipo de comparación, a cada carácter de letra se le asigna un valor (A = 1 y Z = 26). El script comienza comparando el primer carácter. Si SOn diferentes, es más grande el que comienza con una letra posterior del alfabeto. Por ejemplo, en la comparación apple > banana, el resultado es falso. Esto se debe a que
Si los primeros caracteres SOn iguales, el script compara los segundos caracteres. Si SOn diferentes, termina ahí la comparación. Si SOn iguales los segundos caracteres, el script continúa comparando caracteres hasta llegar a un par que sea diferente. Por ejemplo, en la comparación de grapes > grapey, el script compara cada carácter hasta llegar al final. El resultado es false, porque
En las comparaciones de mayor o igual que o menor o igual que, se aplican las mismas reglas. Si Scripts determina que la cadena del lado izquierdo del operador es la misma que la cadena del lado derecho, la expresión se evalúa como verdadero.
Las comparaciones de cadenas distinguen mayúsculas y minúsculas.
Secuencias de escape en cadenas
Studio admite secuencias de escape dentro de constantes de cadena. Las secuencias de escape le permiten incluir ciertos caracteres especiales en una cadena. Los Caracteres como las comillas dobles o una llave de apertura se reconocen como código. Cuando se incluyen en una cadena, el compilador los interpreta con el significado del código no literal en lugar de su valor literal. Las secuencias de escape le permiten incluir estos caracteres en las cadenas.Si incluye estos caracteres en cadenas sin una secuencia de escape, la salida no será la esperada y puede producirse un error.
No es necesario agregar secuencias de escape a cadenas que contengan XML convertido o JSON. Se agregan automáticamente las secuencias de escape a los caracteres que las requieran.
Agregue el prefijo de signo de dólar a cualquier cadena en la que utilice una secuencia de escape ($): $".... Dentro de las comillas dobles, puede usar cualquiera de las siguientes secuencias de escape:
| Secuencia | Detalles |
|---|---|
|
|
Insertar una cita doble. |
|
|
Insertar una cita simple. |
|
|
Insertar una pestaña (ASCII 9). |
|
|
Insertar un retorno de carro (ASCII 13). |
|
|
Insertar un avance de línea (ASCII 10). |
|
|
Insertar un retroceso (ASCII 8). |
|
|
Incruste una llave abierta y rizada. solo necesita escapar de la llave de cierre si no hay una llave abierta de escape en el texto anterior. Si necesita escapar una llave de cierre, se ve de la siguiente manera: |
|
|
Incrustar un valor nulo (0 es un cero). |
El siguiente ejemplo utiliza la secuencia de escape \n para agregar un salto de línea a la cadena. Esto mueve el cursor hacia la siguiente línea sin regresar al principio de la línea.
x = $"A phrase\nAnd a new line"
Cuando se imprime la cadena, la salida se ve así:
Una frase
Y una nueva line ]
En el ejemplo anterior, el corchete de cierre representa el cursor.
El siguiente ejemplo utiliza la secuencia de escape \" para que se incluyan comillas dobles en la cadena:
y = $"Embedding \"double quotes\" in a string."
Cuando se imprime la cadena, se ve así: Incorporar "comillas dobles" en una cadena. Sin la secuencia de escape, el script solo reconocería la cadena hasta el símbolo de comillas dobles antes de la palabra double.
El siguiente ejemplo utiliza la \{ secuencia de escape para que se incluyan llaves en la cadena.
z = $"Using \{curly} braces."
Cuando se imprime la cadena, se ve así: Using {curly} braces. Sin la secuencia de escape, el script habría interpretado
Expresiones booleanas
Studio admite el uso de expresiones booleanas
A data type that has two possible values: true and false.. Se pueden utilizar para crear una lógica de toma de decisiones en su script. Debido a que se evalúan las expresiones booleanas como verdaderas o falsas, puede usarlas para crear condiciones que deban cumplirse para decidir qué camino tomar. Si se cumple la condición, entonces el script toma esa bifurcación, pero si no, toma la otra bifurcación.
Hay varios operadores que puede utilizar en las expresiones booleanas. Esto le permite definir una declaración de condición lógica que se ajuste a las necesidades de su script. Por ejemplo, puede verificar si un valor es igual a otro usando el signo igual (=) o puede verificar si un valor es mayor que otro usando el operador mayor que (>).
Puede usar expresiones booleanas con acciones como If y Snippet. Varias declaraciones de las que puede usar en los snippets utilizan expresiones booleanas como mecanismo de toma de decisiones, entre las que se incluyen:
- IF
- IF ... ELSE
- SELECT
El siguiente ejemplo muestra el uso de una expresión booleana con una instrucción
ASSIGN var1 = "Cat"
IF var1 = "Dog"
{
ASSIGN dogWasFound = true
}
ELSE
{
ASSIGN dogWasFound = false
}
Las expresiones booleanas también se pueden usar en la programación de scripts con acciones. La siguiente imagen muestra la misma declaración
Valores booleanos para habilitar o deshabilitar la Configuración
Los valores booleanos se utilizan a veces en los Scripts para habilitar o deshabilitar la configuración en NiCE CXone. En estos casos, asigna un valor booleano a una variable. Para habilitar una configuración, asigne el valor true o 1. Para deshabilitar una configuración, asigne el valor false o 0.
Tanto las palabras como los números SOn valores booleanos válidos. Sin embargo, consulte la ayuda en línea de la acción Studio que está utilizando para ver si existe un valor preferido para las propiedades de la acción. En cualquier caso, no debe estar entre comillas el valor que utilice. Si incluye el valor entre comillas, el script lo trata como una cadena literal en lugar de un valor booleano.
Operadores
Un operador es un símbolo que representa una operación matemática o una comparación. Los símbolos como +, - y = SOn operadores. Los operadores booleanos comparan DOs expresiones y dan como resultado una respuesta de verdadero/falso. El snippet admite operadores matemáticos y booleanos.
Además de los operadores matemáticos habituales para la multiplicación, la división, la suma y la resta, también puede utilizar estos operadores:
- Operador de módulo (%)
- Potencia/exponente (^)
- Entero divide (\)
- OR exclusiva (~)
El orden matemático regular de operaciones se aplica a todas las expresiones. 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. La multiplicación y la división se evalúan a continuación, y después la suma y la resta. Los operadores de comparación SOn los últimos en evaluarse, después de que se hayan completado todas las operaciones matemáticas.
Operadores booleanos
You can use the following Boolean operators in snippets. All of these operators can be used with
| Operador SYMBOL | Nombre DEL OPERADOR | Detalles |
|---|---|---|
| = | Igual | Si los DOs lados de la expresión SOn equivalentes, la expresión da como resultado |
| != | No igual | Si los DOs lados de la expresión no SOn equivalentes, la expresión se evalúa como |
| > | Más-grande-que |
Si el lado derecho de la expresión es menor que el 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 derecho, la expresión da como resultado |
| & | y | Si todas las subexpresiones se evalúan como verdaderas, la expresión completa da como resultado |
| | | o | Si cualquiera de las subexpresiones se evalúa como verdadera, la expresión da como resultado |
Signos de igual en las expresiones
El operador de signo igual ( = ) significa cosas diferentes según el tipo de expresión con la que esté trabajando.
Las expresiones que se utilizan en las declaraciones de asignación asignan una expresión como el valor de una variable. El signo igual que se utilizan en estas declaraciones representa la asignación del valor del lado derecho de la expresión a la variable del lado izquierdo.
En otras expresiones, el signo igual indica una evaluación de igualdad. Por ejemplo, en la expresión algebraica x = 3 * (5 + 10), el signo igual significa que x representa el valor resultante de la expresión algebraica 3 * (5 + 10). En este caso, x = 45. Puede usar esta expresión algebraica en una instrucción de asignación para asignar el valor de la expresión a una Variable x. Sin embargo, si la misma expresión se utilizara como un valor booleano, se evaluaría como verdadero o falso según el valor de x.
Las expresiones booleanas se utilizan normalmente en los scripts Studio. Si en estas expresiones utiliza un signo igual como operador, compara el valor del lado izquierdo del signo igual con el valor del lado derecho para determinar la igualdad. Si necesita cambiar el valor de una variable utilizada en una expresión booleana, use una acción ASSIGN o una instrucción ASSIGN en una acción Snippet.