Instructions de prise de décision
Vous pouvez demander à votre script de sélectionner une tâche à exécuter en fonction des conditions que vous spécifiez. À l'aide d'une instruction de prise de décision, vous pouvez concevoir le script de manière à tenir compte de différentes possibilités ou résultats. Cela vous permet de contrôler le flux linéaire de ce qui se passe dans votre script.
Les mots clés de ces instructions sont les suivants :
- IF : sélectionne l'option à exécuter en fonction du résultat de l'évaluation d'une expression booléenne Un type de données qui a deux valeurs possibles : true et false..
- SELECT : exécute la première instruction d'une série d'instructions dont l'évaluation est vraie.
- SWITCH : évalue une expression et compare le résultat à des cas définis. Il entreprend l'action définie dans le cas correspondant.
Les instruction de prise de décision exigent toujours des blocs de code conditionnels. Les blocs sont entourés d'accolades (
- CASE : définit une instruction parmi un ensemble d'instructions possibles à exécuter.
- DEFAULT : définit la valeur par défaut de CASE. CASE est l'instruction qui est exécutée si aucune des autres instructions ne peut être exécutée.
L'analyse de chaque type d’instruction comprend un résumé de la syntaxe. Ces résumés utilisent certaines conventions pour indiquer les parties de l’instruction et préciser si chaque partie est obligatoire ou facultative.
Instructions IF et IF... ELSE
Description : évalue une expression et suit une branche en fonction du résultat de l'évaluation.
Syntaxe :
Action Studio : If
Détails : les instructions IF évaluent une <expression>. En fonction de l'évaluation de l'expression, le script exécute le code contenu dans la première série d'accolades { ... }. L'expression doit être évaluée comme vraie, sinon le script n'exécutera pas le code.
Vous pouvez inclure l’instruction ELSE si vous voulez spécifier ce que fait le script lorsque l'expression est évaluée à faux. ELSE est facultatif. Utilisez-le lorsqu'il y a deux actions possibles et que vous voulez que le script choisisse entre les deux. Utilisez IF seul lorsqu'il n'y a qu'une seule action possible et que vous voulez que le script ne l'exécute que si la condition spécifiée (<expression>) est remplie.
Utilisez un opérateur booléen Un type de données qui a deux valeurs possibles : true et false. dans l'expression <expression> qui fait partie de l’instruction IF. Vous devez utiliser une expressions dont la valeur est soit vraie, soit fausse. Par exemple, x=5 est une expression valide, car la valeur de la variable x sera égale ou non à 5.
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 nombre entier (\)
- OU exclusif (~)
L'ordre des opérations mathématiques normales s'applique à toutes les expressions. Tout ce qui se trouve entre parenthèses est d'abord évalué en tant que sous-unité. Les opérateurs d’exposant/de puissance sont évalués en second lieu. La multiplication et la division sont évaluées ensuite, suivies de 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 snippets. Tous ces opérateurs peuvent être utilisés avec les comparaisons de type
SYMBOLE de l’opérateur | NOM DE L'OPÉRATEUR | Détails |
---|---|---|
= | Égal | 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 donne |
> | Supérieur |
Si le côté droit de l'expression est inférieur au côté gauche, l'expression donne |
>= | Supérieur 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 des sous-expressions est évaluée comme vraie, l'expression donne |
Studio ne permet pas d'avoir plus d'une instruction
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Exemple
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"
}
Instructions SELECT
Description : exécute un ensemble de commandes basé sur la première expression à évaluer sur vrai.
Syntaxe :
Détails : dans une instruction SELECT, le script évalue chaque CASE <expression> en commençant par le haut et en descendant jusqu'à ce qu'il trouve le premier qui s’évalue à vrai. Pour le premier CASE <expression> évalué comme vrai, SELECT exécute le code contenu dans les accolades [{ ... }] de ce CASE <expression>.
Si aucun CASE <expression> ne s’évalue comme vrai, le script exécute le code facultatif DEFAULT { ... }.
Au moins une instruction CASE est attendue. Si elle est incluse, l’instruction DEFAULT { ... } doit être la dernière clause de la liste d’instructions CASE.
Par exemple :
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 }
}
Instructions SWITCH
Description : évalue la variable spécifiée et entreprend l'action définie par la CASE correspondante.
Syntaxe : SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Détails :
Si aucun code CASE <literal> ne correspond à <var>, le code facultatif
SWITCH ne peut évaluer qu'une variable. Elle ne peut pas évaluer une expression. Si vous utilisez une expression , votre script ne fonctionnera pas.
Au moins une CASE est attendue. Toutes les instructions CASE doivent avoir le même type de <literal>. La première CASE détermine le type des autres instructions CASE. Si une instruction CASE a un type différent de celui de la première instruction CASE, une erreur de compilation se produit. Voici tous les types littéraux valides :
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Par exemple :
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 plusieurs CASE utilisent le même code { ... }, il n'est pas nécessaire d'inclure un bloc de code après chacun d'entre eux. Au lieu de cela, vous devez énumérer les mots-clés CASE l'un après l'autre, avec le code après le dernier CASE qui utilise ce code. C'est ce que l'on appelle une retombée de cas. C'est autorisé tant qu'il existe un cas que SWITCH peut rencontrer et qui possède un bloc de code. L'exemple suivant illustre une retombée de cas. Pour les CASE1, 2 et 3, la sortie est la valeur hi. Pour les CASE 5 et 6, la sortie est bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Cas d'utilisation : SWITCH vous permet d'obtenir des résultats spécifiques en fonction du contenu de la variable spécifiée. Par exemple, vous pouvez demander au script d'évaluer une variable contenant des indicatifs régionaux. Vous pouvez définir une CASE pour chaque indicatif régional possible et demander au script d'ajouter à la variable state une valeur correspondant à l'État auquel l'indicatif régional est attribué. Par exemple :
SWITCH areaCode
{
CASE 603 { state = "New Hampshire" }
CASE 614 { state = "Ohio" }
CASE 628 { state = "California" }
CASE 646 { state = "New York" }
CASE 667 { state = "Maryland" }
}
Instructions CASE
Description : définit une instruction à exécuter parmi un ensemble d'instructions possibles. S’utilise avec SWITCH ou SELECT.
Syntaxe : varie ; voir SWITCH ou SELECT
Action Studio : Case
Détails : CASE doit être utilisé dans le bloc de code conditionnel d'une instruction SWITCH ou SELECT. Ajoutez une ou plusieurs instructions CASE pour définir les blocs susceptibles d’être exécutés par le script. Au moins un CASE est requis.
Lié : incluez une instruction DEFAULT pour définir le cas utilisé si aucune des instructions CASE spécifiées ne s'applique.
Instructions DEFAULT
Description : définit le bloc CASE utilisé si aucun des CASE spécifiés ne s'applique. Utilisé avec SWITCH et SELECT.
Syntaxe : variable ; voir SWITCH ou SELECT
Détails : DEFAULT doit être utilisé avec les blocs SWITCH ou SELECT, et au moins une instruction CASE doit être présente. DEFAULT ne peut pas être utilisé seul. DEFAULT est toujours facultatif. Il doit s'agir de la dernière clause de la liste d’instructions CASE.
Instructions ELSE
Description : définit l'instruction que le script exécute si l'expression IF est évaluée à faux.
Syntaxe :
Détails : ELSE est toujours facultatif. Vous pouvez inclure une instruction ELSE si vous voulez spécifier ce que fait le script lorsque l'expression est évaluée à faux. Utilisez-le lorsqu'il y a deux actions possibles et que vous voulez que le script choisisse entre les deux.