Expressions
Les informations contenues dans cette page d’aide s’appliquent à la fois à CXone Studio et à Desktop Studio.
Une expression est tout ce qui, dans votre script, compare une valeur ou aboutit à une valeur. Par exemple,
Tous les exemples précédents pourraient également être des instructions d’assignation. Une instruction d’assignation affecte la valeur située à droite du signe égal à la variable située à gauche. Les assignations de variables ne sont pas des expressions.
Les expressions peuvent être utilisées pour :
- Effectuer des calculs mathématiques ou algébriques.
- Comparer deux valeurs et prendre une mesure en fonction du résultat de la comparaison.
- Prendre des décisions logiques en se basant sur le fait qu’une expression est évaluée comme vraie ou fausse.
Les valeurs comparées dans une expression peuvent être constituées de lettres, de chiffres ou d’une combinaison des deux. Elles peuvent également inclure des variables. Dans Studio, il existe trois types d’expressions, numérique, chaîne et booléenne.
Essayez-le
Téléchargez le script d’exemples d’expressions et importez-le dans Studio. Les exemples de cette page d’aide sont disponibles dans les actions
Expressions numériques
Les expressions numériques comprennent uniquement les chiffres et les opérateurs mathématiques ou booléens, tels que +, -, etc. Elles peuvent également inclure des références à des variables, si ces dernières contiennent des valeurs numériques utilisées dans les calculs.
Les expressions numériques sont utilisées dans les extraits de code et pour configurer les propriétés des actions Studio. Par exemple, dans l’action IF, vous configurez la propriété Expression avec une expression à évaluer comme mécanisme de prise de décision de l’action. Vous pouvez faire la même chose dans un extrait en utilisant le mot-clé
Syntaxe des expressions numériques
Les
Ne mettez pas les variables utilisées dans les expressions numériques entre accolades et guillemets. Il en résulte une erreur dans votre script.
Évaluation des expressions numériques
Dans une expression numérique, si le script peut évaluer les valeurs numériques comme des nombres, il le fait. Cela signifie que :
- Tout ce qui ne peut être évalué comme une valeur numérique, comme des lettres ou un mot, est considéré comme une référence de variable.
- Si les caractères non numériques de l’expression sont une variable du script avec une valeur de chaîne, le script ignore les caractères non numériques et évalue la partie numérique de l’expression originale.
- Si les caractères non numériques de l’expression sont une variable avec une valeur numérique, le script inclut cette valeur dans l’évaluation de l’expression.
- Si les caractères non numériques de l’expression ne sont pas une variable du script, le script ignore ces caractères dans l’expression originale.
Dans l’exemple suivant, le script tente d’évaluer nextNum en tant que variable parce qu’il ne peut pas être évalué en tant que nombre : c1 = 123 + 456 + nextNum. Les exemples suivants montrent le résultat de trois scénarios selon que nextNum est une variable ou non et quelle est sa valeur.
Lorsque nextNum est une variable avec une valeur de chaîne, le résultat est c1 = 579 :
ASSIGN nextNum = "my string"
ASSIGN c2 = 123 + 456 + nextNum
Lorsque nextNum est une variable avec une valeur numérique, le résultat est c2 = 1368 :
ASSIGN nextNum = 789
ASSIGN c3 = 123 + 456 + nextNum
Lorsque nextNum n’est pas une variable, le résultat est c3 = 579 :
ASSIGN c3 = 123 + 456 + nextNum
Si vous évaluez une expression qui comprend deux variables contenant toutes deux des valeurs numériques traitées comme des chaînes, le script convertit les valeurs en nombres et les évalue en conséquence. Le résultat de l’exemple suivant est c4 = 50 :
ASSIGN nextNum = "20"
ASSIGN otherNum = "30"
ASSIGN c4 = nextNum + otherNum
Vous pouvez inclure des expressions numériques dans des valeurs de chaînes en entourant l’expression d’accolades. Par exemple :
ASSIGN nextNum = 6
ASSIGN otherNum = 7
ASSIGN c5 = "There are {nextNum + otherNum} fish in the aquarium."
Nombres avec zéros à gauche
Il y a une différence dans la façon dont Studio gère les nombres lorsqu’ils sont traités comme des chaînes et lorsqu’ils sont traités comme des nombres. Lorsque les nombres sont traités comme une chaîne, ils peuvent comporter des zéros à gauche. Si vous additionnez deux variables contenant des valeurs de chaînes numériques avec des zéros à gauche, ces zéros sont supprimés. Par exemple, le résultat de l’expression suivante est c6=59 :
ASSIGN nextNum = "00020"
ASSIGN otherNum = "000039"
ASSIGN c6 = nextNum+otherNum
Si vous souhaitez que la valeur résultante comporte des zéros à gauche, vous pouvez utiliser la fonction
Expressions au format chaîne
Les expressions au format chaîne comprennent des caractères alphanumériques et spéciaux, tels que #, @, etc. La syntaxe des expressions au format chaîne est similaire à la syntaxe d’affectation de valeurs de chaînes à des variables :
- Dans les extraits, les valeurs des expressions doivent toujours être placées entre guillemets simples ou doubles. C’est la même chose que pour les valeurs de chaîne.
- Pour effectuer une substitution de variable dans des expressions au format chaîne, il convient de placer le nom de la variable entre accolades.
- Certains caractères, tels que les guillemets, sont considérés comme du code. Pour inclure ces caractères dans des valeurs de chaîne, vous devez utiliser des séquences d’échappement.
Comparaisons de chaînes
Les chaînes peuvent être évaluées en tant que valeurs dans des expressions booléennes. Par exemple, vous pouvez utiliser l’expression suivante dans une instruction
client = "Grendel Cainson"
Lorsque client contient la valeur exacte Grendel Cainson, le résultat est true. Pour toute autre valeur, le résultat est false.
Vous pouvez utiliser les opérateurs « supérieur à » et « inférieur à » dans les comparaisons de chaînes. Dans ce type de comparaison, une valeur est attribuée à chaque lettre (A = 1 et Z = 26). Le script commence par comparer le premier caractère. S’ils sont différents, celui qui commence par une lettre plus éloignée dans l’alphabet est plus grand. Par exemple, dans la comparaison apple > banana, le résultat est faux. En effet,
Si les premiers caractères sont identiques, le script compare les seconds caractères. S’ils sont différents, la comparaison s’arrête là. Si les deuxièmes caractères sont identiques, le script continue à comparer les caractères jusqu’à ce qu’il atteigne une paire de caractères différents. Par exemple, dans la comparaison de grapes > grapey, le script compare chaque caractère jusqu’à la fin. Le résultat est faux, car
Les mêmes règles s’appliquent aux comparaisons « supérieur ou égal à » ou « inférieur ou égal à ». Si les scripts trouvent que la chaîne du côté gauche de l’opérateur est la même que celle du côté droit, l’expression est évaluée à vrai.
Les comparaisons de chaînes sont sensibles à la casse.
Séquences d’échappement dans les chaînes
Studio prend en charge les séquences d’échappement dans les constantes de chaîne. Les séquences d’échappement permettent d’inclure certains caractères spéciaux dans une chaîne. Les caractères tels que les guillemets doubles ou une accolade ouvrante sont reconnus comme du code. Lorsqu’ils sont inclus dans une chaîne, le compilateur les interprète avec la signification non littérale du code au lieu de leur valeur littérale. Les séquences d’échappement permettent d’inclure ces caractères dans les chaînes. Si vous incluez ces caractères dans des chaînes sans séquence d’échappement, le résultat ne sera pas celui que vous attendez et une erreur risque de survenir.
Il n’est pas nécessaire d’ajouter des séquences d’échappement aux chaînes qui contiennent du XML ou du JSON converti. Les séquences d’échappement sont automatiquement ajoutées pour les caractères qui le nécessitent.
Préfixez toute chaîne dans laquelle vous utilisez une séquence d’échappement par un signe de dollar ($) : $"...". À l’intérieur des guillemets, vous pouvez utiliser l’une des séquences d’échappement suivantes :
Séquence | Détails |
---|---|
|
Intégrez un double devis. |
|
Intégrez un devis unique. |
|
Intégrez une tabulation (ASCII 9). |
|
Intégrez un retour chariot (ASCII 13). |
|
Intégrez un saut de ligne (ASCII 10). |
|
Intégrez un retour arrière (ASCII 8). |
|
Intégrez une accolade ouverte. Vous ne devez échapper l’accolade fermante que si le texte qui la précède ne contient pas d’accolade ouverte échappée. Si vous devez échapper à une accolade fermante, cela ressemble à ceci : |
|
Intégrez une valeur nulle (0 est un zéro). |
L’exemple suivant utilise la séquence d’échappement \n pour ajouter un saut de ligne à la chaîne. Cela permet de déplacer le curseur vers la ligne suivante sans revenir au début de la ligne.
x = $"A phrase\nAnd a new line"
Lorsque la chaîne est imprimée, la sortie ressemble à ceci :
A phrase
And a new line ]
Dans l’exemple précédent, l’accolade fermante représente le curseur.
L’exemple suivant utilise la séquence d’échappement \" pour inclure des guillemets doubles dans la chaîne :
y = $"Embedding \"double quotes\" in a string."
Lorsque la chaîne est imprimée, cela ressemble à ceci : Embedding "double quotes" in a string. Sans la séquence d’échappement, le script ne reconnaîtrait la chaîne que jusqu’au symbole de guillemets doubles précédant le mot double.
L’exemple suivant utilise la séquence d’échappement \{ pour inclure des accolades littérales dans la chaîne :
z = $"Using \{curly} braces."
Lorsque la chaîne est imprimée, cela ressemble à ceci : Using {curly} braces. Sans la séquence d’échappement, le script aurait interprété
Expressions booléennes
Studio prend en charge l’utilisation d’expressions booléennes Un type de données qui a deux valeurs possibles : true et false.. Elles peuvent être utilisées pour créer une logique de prise de décision dans votre script. Les expressions booléennes étant évaluées à vrai ou faux, vous pouvez les utiliser pour créer des conditions qui doivent être remplies pour décider du chemin à emprunter. Si la condition est remplie, le script prend cette branche, mais si elle ne l’est pas, il prend l’autre branche.
Il existe un certain nombre d’opérateurs que vous pouvez utiliser dans les expressions booléennes. Cela vous permet de définir une condition logique qui répond aux besoins de votre script. Par exemple, vous pouvez vérifier si une valeur est identique à une autre à l’aide du signe égal (=) ou si une valeur est supérieure à une autre à l’aide de l’opérateur « plus grand que » (>).
Vous pouvez utiliser des expressions booléennes avec des actions telles que If et Snippet (pages d’aide dansCXone Studio : If et Snippet). Un certain nombre d’instructions que vous pouvez utiliser dans les extraits de code utilisent des expressions booléennes comme mécanisme de prise de décision :
- IF
- IF ... ELSE
- SELECT
L’exemple suivant montre l’utilisation d’une expression booléenne avec une instruction
ASSIGN var1 = "Cat"
IF var1 = "Dog"
{
ASSIGN dogWasFound = true
}
ELSE
{
ASSIGN dogWasFound = false
}
Les expressions booléennes peuvent également être utilisées dans les scripts avec des actions. L’image suivante montre la même instruction
Valeurs booléennes pour activer ou désactiver des paramètres
Les valeurs booléennes sont parfois utilisées dans les scripts pour activer ou désactiver des paramètres dans CXone. Dans ce cas, vous attribuez une valeur booléenne à une variable. Pour activer un paramètre, attribuez la valeur vrai ou 1. Pour désactiver un paramètre, attribuez la valeur faux ou 0.
Les mots et les nombres sont des valeurs booléennes valides. Cependant, consultez l’aide en ligne de l’action Studio que vous utilisez pour voir s’il existe une valeur préférée pour les propriétés de l’action. Dans les deux cas, la valeur utilisée ne doit pas être entre guillemets. Si vous mettez la valeur entre guillemets, le script la traite comme une chaîne littérale et non comme une valeur booléenne.
Opérateurs
Un opérateur est un symbole qui représente une opération mathématique ou une comparaison. Les symboles tels que +, - et = sont des opérateurs. Les opérateurs booléens comparent deux expressions et donnent une réponse de type vrai/faux. Un extrait de code prend en charge les opérateurs mathématiques et les opérateurs booléens.
Outre les opérateurs mathématiques classiques pour la multiplication, la division, l’addition et la soustraction, vous pouvez également utiliser les opérateurs suivants :
- Opérateur de module (%)
- Puissance/exposant (^)
- Division de nombres entiers (\)
- OU exclusif (~)
L’ordre des opérations mathématiques normales s’applique à toutes les expressions. Tout ce qui est entre parenthèses est d’abord évalué en tant que sous-unité. Les exposants/opérateurs de puissance sont évalués en second lieu. La multiplication et la division sont évaluées ensuite, puis l’addition et la soustraction. Les opérateurs de comparaison sont les derniers à être évalués, après que toutes les opérations mathématiques ont été effectuées.
Opérateurs booléens
Vous pouvez utiliser les opérateurs booléens suivants dans les extraits de code. Tous ces opérateurs peuvent être utilisés avec les comparaisons
SYMBOLE de l’opérateur | NOM DE L’OPÉRATEUR | Détails |
---|---|---|
= | Égale | Si les deux côtés de l’expression sont équivalents, l’expression donne |
!= | Pas égal | Si les deux côtés de l’expression ne sont pas équivalents, l’expression est évaluée à |
> | Plus grand que |
Si le côté droit de l’expression est inférieur au côté gauche, l’expression donne |
>= | Plus grand que ou égal |
Si le côté droit de l’expression est inférieur ou égal au côté gauche, l’expression donne |
< | Inférieur à |
Si le côté gauche de l’expression est inférieur au côté droit, l’expression donne |
<= | Inférieur ou égal à |
Si le côté gauche de l’expression est inférieur ou égal au côté droit, l’expression donne |
& | Et | Si toutes les sous-expressions sont évaluées comme vraies, l’expression entière donne |
| | Ou | Si l’une ou l’autre des sous-expressions est évaluée comme vraie, l’expression donne |
Signe égal dans les expressions
L’opérateur du signe égal (=) a des significations différentes selon le type d’expression avec lequel vous travaillez.
Les expressions utilisées dans les instructions d’assignation attribuent à une expression la valeur d’une variable. Le signe égal utilisé dans ces instructions représente l’assignation de la valeur du côté droit de l’expression à la variable du côté gauche.
Dans d’autres expressions, le signe égal indique l’évaluation de l’égalité. Par exemple, dans l’expression algébrique x = 3 * (5 + 10), le signe égal signifie que x représente la valeur résultant de l’expression algébrique 3 * (5 + 10). Dans ce cas, x = 45. Vous pouvez utiliser cette expression algébrique dans une instruction d’assignation pour affecter la valeur de l’expression à une variable x. Cependant, si la même expression était utilisée en tant qu’expression booléenne, elle serait soit vraie, soit fausse, en fonction de la valeur de x.
Les expressions booléennes sont couramment utilisées dans les scripts Studio. Si vous utilisez un signe égal comme opérateur dans ces expressions, il compare la valeur à gauche du signe égal à la valeur à droite pour déterminer l’égalité. Si vous devez modifier la valeur d’une variable utilisée dans une expression booléenne, utilisez soit une action ASSIGN, soit une instruction ASSIGN dans une action Snippet.