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, X = 5, Y = dog et Z = "{var1}" peuvent tous être des expressions s’ils sont utilisés de manière à comparer les valeurs ou à obtenir une valeur. Par exemple, X = 5 compare la valeur de la variable X à 5. De même, Z = "{var1}" compare la valeur de la variable Z à la valeur actuelle de la variable var1.

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 Snippet de l’exemple de script. Vous pouvez ouvrir la Snippet editor fenêtre et lancer le débogueur pour voir comment fonctionne chaque exemple.

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é IF.

Syntaxe des expressions numériques

Les expressions numériques ne peuvent pas être placées entre guillemets. Cela inclut les expressions mathématiques et booléennesFermé Un type de données qui a deux valeurs possibles : true (vrai) et false (faux).. Si vous mettez une expression numérique entre guillemets, elle est traitée comme du texte. Par exemple, c1 = 123 + 456 donne 579, mais c2 = "123 + 456" donne 123 + 456.

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 format() et l’espace réservé pour zéro pour rajouter les zéros à la valeur.

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 IF :

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, banana est plus grande que apple, car b est plus loin dans l’alphabet.

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 grapey est plus grand que grapes, car y est plus loin dans l’alphabet que s.

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.
\t Intégrez une tabulation (ASCII 9).
\r Intégrez un retour chariot (ASCII 13).
\n Intégrez un saut de ligne (ASCII 10).
\b 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 : \}
\0 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é {curly} comme une variable. Si aucune valeur n’est trouvée pour l’accolade de variable, le script la remplacera par rien, de sorte que la valeur de la variable sera Using braces..

Expressions booléennes

Studio prend en charge l’utilisation d’expressions booléennesFermé Un type de données qui a deux valeurs possibles : true (vrai) et false (faux).. 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 IF...ELSE dans un extrait :

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 IF...ELSE utilisant des actions Studio. Vous pouvez tester cet exemple dans le script d’exemples d’expressions.

Une version script de l’exemple booléen de cette section de la page.

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 numériques ou de chaînesnumériques ou de chaînes. Les comparaisons de chaînes utilisent l’ordre alphabétique pour déterminer ce qui est supérieur ou inférieur. Dans les comparaisons, A = 1 et Z = 26. Les comparaisons de chaînes sont sensibles à la casse.

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 true (1), sinon l’expression donne false (0).
!= Pas égal Si les deux côtés de l’expression ne sont pas équivalents, l’expression est évaluée à true (1), sinon elle donne 0 false (0).
> Plus grand que

Si le côté droit de l’expression est inférieur au côté gauche, l’expression donne true (1), sinon elle donne false (0).

>= 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 true (1), sinon elle donne false (0).

< Inférieur à

Si le côté gauche de l’expression est inférieur au côté droit, l’expression donne true (1), sinon elle donne false (0).

<= Inférieur ou égal à

Si le côté gauche de l’expression est inférieur ou égal au côté droit, l’expression donne true (1), sinon elle donne false (0).

& Et Si toutes les sous-expressions sont évaluées comme vraies, l’expression entière donne true (1), sinon elle donne false (0).
| Ou Si l’une ou l’autre des sous-expressions est évaluée comme vraie, l’expression donne true (1), sinon elle donne false (0).

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.