Besluitvormingsverklaringen

U kunt uw script een taak laten selecteren om deze uit te voeren op basis van de voorwaarden die u opgeeft. Met een besluitvormingsverklaring kunt u het script ontwerpen om verschillende mogelijkheden of resultaten te verantwoorden. Zo kunt u de lineaire flow van wat er in uw script gebeurt, beheren.

De trefwoorden voor deze verklaringen zijn:

  • IF: selecteert welke optie moet worden uitgevoerd op basis van het resultaat van de evaluatie van een BooleanGesloten Een gegevenstype dat twee mogelijke waarden heeft: Waar en Onwaar. uitdrukking.
  • SELECT: voert de eerste verklaring uit in een reeks verklaringen die evalueren als waar.
  • SWITCH:Evalueert een uitdrukking en vergelijkt het resultaat met gedefinieerde cases. Dit neemt de actie die is gedefinieerd in de overeenkomende case.

Besluitvormingsverklaringen vereisen altijd voorwaardelijke codeblokken. Blokken staat tussen accolades ( { } ). De codeblokken voor verklaringen SELECT en SWITCH gebruiken twee extra trefwoorden:

  • CASE: definieert een set van mogelijke verklaringen die moeten worden uitgevoerd.
  • DEFAULT: definieert de standaard CASE. Dit is de verklaring die wordt uitgevoerd als geen van de andere CASEverklaringen kan worden uitgevoerd.

De discussie van elk type verklaring bevat een syntaxoverzicht. Deze overzichten gebruiken bepaalde conventies om de delen van de verklaring aan te geven en te bepalen of elk deel vereist of optioneel is.

IF- en IF... ELSE-verklaringen

Beschrijving: evalueert een expressie en volgt een bepaalde vertakking gebaseerd op de resultaten van de evaluatie.

Syntax: IF <expression> <{ ... }> [ ELSE { ... } ]

Studio Actie: If

Details: IF-verklaringen evalueren een <expression>. Afhankelijk van hoe de expressie evalueert, voert het script de code uit in de eerste set van accolades { ... }. De expressie moet evalueren als true of het script zal de code niet uitvoeren.

U kunt de ELSE-verklaring opnemen als u wilt opgeven wat het script doet wanneer de expressie evalueert als false. ELSE is optioneel. Gebruik dit wanneer er twee mogelijke acties zijn en u wilt dat het script ertussen kiest. Gebruik IF alleen wanneer er slechts één mogelijke actie is en u wilt dat het script deze alleen uitvoert wanneer aan de opgegeven voorwaarde (<expression>) is voldaan.

Gebruik een BooleanGesloten Een gegevenstype dat twee mogelijke waarden heeft: Waar en Onwaar. operator in de expressie <expression> die deel uitmaakt van de IF-verklaring. U moet een expressie gebruiken die evalueert als true of false. x=5 Is bijvoorbeeld een geldige expressie omdat de waarde van de x al dan niet gelijk zal zijn aan 5.

Studio Biedt geen ondersteuning voor meer dan één ELSE-verklaring in een IF. U kunt IF-verklaringen echter integreren:


IF A > B {
// Do something
}
ELSE {
	IF A = B {
	// Do something else
	}
	ELSE {
	// Do this
	}
}

Voorbeeld

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"
      }

SELECT Verklaringen

Beschrijving: voert een set van opdrachten uit op basis van de eerste expressie om te evalueren naar true.

Syntax: SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

Details: in een SELECT-verklaring, evalueert het script elke CASE <expression>, te beginnen van boven en omlaag werkend, tot de eerste wordt gevonden die evalueert naar true. Om de eerste CASE <expression> te evalueren als true, voert SELECT de code uit tussen de accolades [{ ... }] van die CASE <expression>.

Als geen CASE <expression> evalueert naar war, voert het script de optionele DEFAULT { ... } code uit.

Er wordt minstens één CASE-verklaring verwacht. Als dit is opgenomen, moet de DEFAULT { ... }-verklaring de laatste clausule zijn in de lijst van CASE-verklaringen.

Voorbeeld:

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 }
} 

SWITCH Verklaringen

Beschrijving: evalueert de opgegeven variabele en onderneemt de actie die is gedefinieerd door de overeenkomende CASE.

Syntax: SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>

Details:  Een SWITCH-verklaring vergelijkt de waarde van een variabele <var> met de letterlijke waarde van elke CASE <literal>. Wanneer een overeenkomende CASE is gevonden, wordt SWITCH uitgevoerd en vertakt naar de code tussen accolades { ... } gekoppeld met de overeenkomende CASE <literal>.

Als geen CASE <literal> overeenkomt met <var>, voert de optionele DEFAULT { ...}-code uit. DEFAULT moet de laatste clausule zijn in de verklaringen die in de SWITCH-verklaring zijn geïntegreerd.

SWITCH kan alleen een variabele evalueren. Dit kan geen expressie evalueren. Als u een expressie gebruikt, zal uw script niet werken.

Er wordt minstens één CASE verwacht. Alle CASE-verklaringen moet hetzelfde type van de <literal>. De eerste CASE bepaalt het type voor de resterende CASE-verklaringen. Als een CASE-verklaring een ander type heeft dan de eerste CASE, treedt een compilerfout op. Het volgende zijn allemaal geldige literal-typen:

  • CASE "john"
  • CASE 512
  • CASE #"5/15/2050"
  • CASE #"6/1/2050 7:00am"
  • CASE #"7am"

Voorbeeld:

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"   }
}

Als er meer dan een CASE dezelfde code { ... } gebruikt, hoeft u geen codeblok te gebruiken na elke code. Geef de CASE-trefwoorden in plaats daarvan achtereenvolgens weer in de lijst, met de code na de laatste CASE die deze code gebruikt. Dit worden een case-fallthrough genoemd; Dit is toegestaan zolang er een case is die SWITCH moet aanpakken die een codeblok heeft. Het volgende voorbeeld toont de case fallthrough. Voor CASEs 1, 2 en 3, is de uitvoer de waarde hi. Voor CASEs 5 en 6,is de uitvoer bye.

SWITCH x
{
	CASE 1
	CASE 2
	CASE 3 { TRACE "hi" }
	CASE 5
	CASE 6 { TRACE "bye" }
}

voorbeeldscenario: SWITCH staat u toe om specifieke resultaten te hebben, afhankelijk van wat de opgegeven variabele bevat. U kunt het script bijvoorbeeld een variabele die netnummers bevat, laten evalueren. U kunt een CASE definiëren voor elk mogelijk netnummer en het script een waarde laten toevoegen aan de state-variabele die overeenkomt met de status waaraan het netnummer is toegewezen. Voorbeeld:

SWITCH areaCode
{
	CASE 603 { state =  "New Hampshire" }
	CASE 614 { state =  "Ohio" }
	CASE 628 { state =  "California" }
	CASE 646 { state =  "New York" }
	CASE 667 { state =  "Maryland" }
}

CASE Verklaringen

Beschrijving: definieert een set van mogelijke verklaringen die moeten worden uitgevoerd. Wordt gebruikt met SWITCH of SELECT.

Syntax: verschilt; zie SWITCH of SELECT

Studio Actie: Case

Details:  CASE moet worden gebruikt in het voorwaardelijke codeblok van een SWITCH- of SELECT-verklaring. Voeg één of meer CASE-verklaringen toe om de mogelijke blokken voor het uit te voeren script te definiëren. Er is minstens één CASE vereist.

Verwant: neem een DEFAULT-verklaring op om de case te definiëren die wordt gebruikt als geen van de opgegeven CASE-verklaringen van toepassing zijn.

DEFAULT Verklaringen

Beschrijving: definieert het CASE-blok dat wordt gebruikt als er geen van de opgegeven CASEs van toepassing zijn. Wordt gebruikt met SWITCH en SELECT.

Syntax: verschilt; zie SWITCH of SELECTEREN

Details: DEFAULT moet worden gebruikt met SWITCH- of SELECT-blokken en er moet minstens één CASE-verklaring zijn. DEFAULT kan niet onafhankelijk worden gebruikt. DEFAULT is altijd optioneel. Dit moet de laatste clausule zijn in de lijst van CASE-verklaringen.

ELSE Verklaringen

Beschrijving: definieert de verklaring die het script uitvoert als de IF-expressie evalueert als false.

Syntax: { ELSE ... }; zie IF

Details: ELSE is altijd optioneel. U kunt een ELSE-verklaring opnemen als u wilt opgeven wat het script doet wanneer de expressie evalueert als false. Gebruik dit wanneer er twee mogelijke acties zijn en u wilt dat het script ertussen kiest.