Entscheidungsanweisungen
Sie können festlegen, dass Ihr Skript die auszuführende Aufgabe auf Grundlage von Bedingungen auswählt, die Sie festlegen. Mithilfe eine Entscheidungsanweisung kann Ihr Skript verschiedene Möglichkeiten oder Ergebnisse berücksichtigen. So können Sie den linearen Ablauf der Ereignisse in Ihrem Skript steuern.
Für diese Anweisungen werden die folgenden Schlüsselwörter verwendet:
- IF: Hiermit wird die Aktion ausgewählt, die basierend auf dem Ergebnis ausgeführt werden soll, das bei der Auswertung eines booleschen Ein Datentyp, der zwei mögliche Werte hat: wahr und falsch. Ausdrucks zurückgegeben wird.
- SELECT: Hiermit wird die erste von mehreren Anweisungen ausgeführt, die als "true" ausgewertet werden.
- SWITCH: Hiermit wird ein Ausdruck ausgewertet und das Ergebnis wird mit definierten Fällen verglichen. Dann wird die im übereinstimmenden Fall definierte Aktion ausgeführt.
Entscheidungsanweisungen erfordern immer Blöcke mit Bedingungscode. Blöcke werden in geschweifte Klammern eingeschlossen (
- CASE: Hiermit wird eine von mehreren möglichen Anweisungen definiert, die ausgeführt werden können.
- DEFAULT: Hiermit wird die Standardeinstellung für CASE definiert. Diese Anweisung wird ausgeführt, wenn keine der anderen CASE-Anweisungen ausgeführt werden kann.
Die Beschreibung der einzelnen Anweisungsarten umfasst eine Zusammenfassung der Syntax. Bei diesen Zusammenfassungen werden bestimmte Konventionen verwendet, um die einzelnen Teile der Anweisung zu kennzeichnen und um anzugeben, ob die jeweiligen Teile erforderlich oder optional sind.
IF - und IF... ELSE -Anweisungen
Beschreibung: Wertet einen Ausdruck aus und folgt einer Verzweigung, die sich nach dem Ergebnis der Auswertung richtet.
Syntax:
Studio-Aktion: If
Details: IF-Anweisungen werten einen <expression> aus. Je nachdem, wie der Ausdruck ausgewertet wird, führt das Skript den Code im ersten Satz geschweifter Klammern { ... } aus. Der Ausdruck muss als "true" ausgewertet werden. Andernfalls führt das Skript den Code nicht aus.
Sie können die ELSE-Anweisung einschließen, um anzugeben, wie das Skript vorgeht, wenn der Ausdruck als "false" ausgewertet wird. ELSE ist optional. Verwenden Sie diese Anweisung, wenn zwei Aktionen möglich sind und das Skript zwischen ihnen wählen soll. Verwenden Sie IF alleine, wenn nur eine Aktion möglich ist und das Skript diese Aktion nur dann ausführen soll, wenn die angegebene Bedingung (<expression>) erfüllt ist.
Verwenden Sie einen booleschen Ein Datentyp, der zwei mögliche Werte hat: wahr und falsch. Operator in dem Ausdruck <expression>, der zur IF-Anweisung gehört. Sie müssen einen Ausdruck verwenden, das als entweder "true" oder "false" ausgewertet wird. Beispiel: x=5 ist ein gültiger Ausdruck, da der Wert der Variablen x entweder gleich oder ungleich 5 ist.
Zusätzlich zu regulären mathematischen Operatoren für Multiplikation, Division, Addition und Subtraktion können Sie auch die folgenden Operatoren verwenden:
- Modulo-Operator (%)
- Potenz/Exponent (^)
- Ganzzahldivision (\)
- Exklusives ODER (~)
Für alle Ausdrücke gilt die reguläre Reihenfolge der mathematischen Operationen. Alle Werte in Klammern werden zuerst als Untereinheit ausgewertet. Exponenten/Potenz-Operatoren werden im zweiten Schritt ausgewertet. Darauf folgen Multiplikation und Division und schließlich Addition und Subtraktion. Vergleichsoperatoren werden zuletzt ausgewertet, nachdem alle mathematischen Operationen abgeschlossen wurden.
Boolesche Operatoren
Sie können die folgenden booleschen Operatoren in Snippets verwenden. Alle diese Operatoren können mit
OPERATOR-SYMBOL | OPERATOR-NAME | Details |
---|---|---|
= | Gleich | Wenn beide Seiten des Ausdrucks gleich sind, resultiert der Ausdruck in |
!= | Ungleich | Wenn die beiden Seiten des Ausdrucks ungleich sind, wird der Ausdruck als |
> | Größer als |
Wenn die rechte Seite des Ausdrucks kleiner ist als die linke Seite, resultiert der Ausdruck in |
>= | Gleich oder größer als |
Wenn die rechte Seite des Ausdrucks gleich oder kleiner als die linke Seite ist, resultiert der Ausdruck in |
< | Kleiner als |
Wenn die linke Seite des Ausdrucks kleiner als die rechte Seite ist, resultiert der Ausdruck in |
<= | Gleich oder kleiner als |
Wenn die linke Seite des Ausdrucks gleich oder kleiner als die rechte Seite ist, resultiert der Ausdruck in |
& | und | Wenn alle Unterausdrücke als "true" ausgewertet werden, resultiert der ganze Ausdruck in |
| | oder | Wenn ein Unterausdruck als "true" ausgewertet wird, resultiert der Ausdruck in |
Mehr als eine
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Beispiel
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 Anweisungen
Beschreibung: Führt basierend auf dem ersten Ausdruck, der als "true" ausgewertet wird, einen Satz mit Befehlen aus.
Syntax:
Details: In einer SELECT-Anweisung wertet das Skript von oben nach unten jeden CASE <expression> aus, bis der erste Ausdruck gefunden wird, der als "true" ausgewertet wird. Für den ersten CASE <expression>, der als "true" ausgewertet wird, führt SELECT den Code aus, der in den geschweiften Klammern [{ ... }] für diesen CASE <expression> steht.
Wenn kein CASE <expression> als "true" ausgewertet wird, führt das Skript den optionalen Code DEFAULT { ... } aus.
Mindestens eine CASE-Anweisung wird erwartet. Sofern vorhanden, muss die DEFAULT { ... }-Anweisung die letzte Klausel in der Liste der CASE-Anweisungen sein.
Beispiel:
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 Anweisungen
Beschreibung: Wertet die angegebene Variable aus und führt die Aktion aus, die von der entsprechenden CASE-Anweisung definiert wird.
Syntax: SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Details:
Wenn keine CASE <literal>-Anweisung mit <var> übereinstimmt, wird der optionale
SWITCH kann nur eine Variable auswerten. Ein Ausdruck kann nicht ausgewertet werden. Wenn Sie einen Ausdruck verwenden, funktioniert das Skript nicht.
Mindestens eine CASE-Anweisung wird erwartet. Alle CASE-Anweisungen müssen denselben Typ von <Literalwert> haben. Die erste CASE-Anweisung bestimmt den Typ für die verbleibenden CASE-Anweisungen. Wenn eine CASE-Anweisung einen anderen Typ als die erste CASE-Anweisung hat, tritt ein Kompilierungsfehler auf. Die folgenden Beispiele sind alle gültige Literalwerte:
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Beispiel:
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" }
}
Wenn mehr als eine CASE-Anweisung denselben Code { ... } verwendet, müssen Sie nicht nach jeder einen Codeblock einfügen. Listen Sie stattdessen die CASE-Schlüsselwörter nacheinander auf und platzieren Sie den Code nach der letzten CASE-Anweisung, die diesen Code verwendet. Dies wird als Fall-Through-Verhalten bezeichnet. Es ist zulässig, solange eine Case-Anweisung für SWITCH vorhanden ist, die keinen Codeblock hat. Das folgende Beispiel veranschaulicht das Fall-Through-Verhalten für eine Case-Anweisung. Für CASE 1, 2 und 3 lautet der Ausgabewert hi. Für CASE 5 und 6 ist die Ausgabe bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Anwendungsfall: SWITCH ermöglicht spezifische Ergebnisse, je nach dem Inhalt der angegebenen Variablen. Beispielsweise kann das Skript eine Variable auswerten, die Vorwahlen enthält. Sie können eine CASE-Anweisung für jede mögliche Vorwahl definieren und das Skript so konfigurieren, dass ein Wert für jede state-Variable hinzugefügt wird, die dem Bundesstaat entspricht, zu dem die Vorwahl gehört. Beispiel:
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 Anweisungen
Beschreibung: Hiermit wird eine von mehreren möglichen Anweisungen definiert, die ausgeführt werden können. Wird mit SWITCH oder SELECT verwendet.
Syntax: variiert; siehe SWITCH oder SELECT
Studio-Aktion: Case
Details: CASE muss in einem Block mit Bedingungscode einer SWITCH- oder SELECT-Anweisung verwendet werden. Fügen Sie eine oder mehrere CASE-Anweisungen hinzu, um die möglichen Blöcke zu definieren, die das Skript ausführen kann. Mindestens eine CASE-Anweisung ist erforderlich.
Zugehörig: Fügen Sie eine DEFAULT-Anweisung ein, um die Case-Anweisung anzugeben, die verwendet werden soll, wenn keine der angegebenen CASE-Anweisungen zutrifft.
DEFAULT Anweisungen
Beschreibung: Definiert den CASE-Block, der verwendet wird, wenn keine der angegebenen CASE-Anweisungen zutrifft. Wird mit SWITCH und SELECT verwendet.
Syntax: variiert, siehe SWITCH oder SELECT
Details: DEFAULT muss mit SWITCH- oder SELECT-Blöcken verwendet werden und es muss mindestens eine CASE-Anweisung vorhanden sein. DEFAULT kann nicht alleine verwendet werden. DEFAULT ist immer optional. Dies muss die letzte Klausel in der Liste der CASE-Anweisungen sein.
ELSE Anweisungen
Beschreibung: Definiert die Anweisung, die das Skript ausführt, wenn der Ausdruck IF als "false" ausgewertet wird.
Syntax:
Details: ELSE ist immer optional. Sie können eine ELSE-Anweisung einschließen, um anzugeben, wie das Skript vorgeht, wenn der Ausdruck als "false" ausgewertet wird. Verwenden Sie diese Anweisung, wenn zwei Aktionen möglich sind und das Skript zwischen ihnen wählen soll.