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éenneFermé 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 ( { } ). Les blocs de code pour les instructions SELECT et SWITCH utilisent deux mots-clés supplémentaires :

  • 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 : IF <expression> <{ ... }> [ ELSE { ... } ]

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

Studio ne permet pas d'avoir plus d'une instruction ELSE dans une instruction IF. Cependant, vous pouvez incorporer des instructions IF :


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 : SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

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 : une instruction SWITCH compare la valeur d'une variable <var> à la valeur littérale de chaque CASE <literal>. Lorsqu'une correspondant à CASE est trouvée, SWITCH s'exécute et passe au code entre accolades { ... } associé à la CASE <literal> correspondante.

Si aucun code CASE <literal> ne correspond à <var>, le code facultatif DEFAULT { ...} est exécuté. DEFAULT doit être la dernière clause des instructions incorporées dans l’instruction SWITCH.

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 : { ELSE ... } ; voir IF.

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.