Ausdrücke
Ein Ausdruck ist ein Teil des Skripts, der einen Wert vergleicht oder in einem Wert resultiert. Beispielsweise können
Alle vorherigen Beispiele könnten auch Zuweisungsanweisungen sein. Eine Zuweisungsanweisung weist den Wert rechts vom Gleichheitszeichen der Variablen auf der linken Seite zu. Variablenzuweisungen sind keine Ausdrücke.
Ausdrücke können für folgende Zwecke verwendet werden:
- Mathematische oder algebraische Berechnungen
- Zwei Werte vergleichen und auf Grundlage des Ergebnisses des Vergleichs eine Aktion ausführen
- Logische Entscheidungen treffen, je nachdem, ob ein Ausdruck als "true" oder "false" ausgewertet wird
Die Werte, die in einem Ausdruck verglichen werden, können aus Buchstaben, Zahlen oder aus einer Kombination von Buchstaben und Zahlen bestehen. Sie können auch Variablen enthalten. In Studio gibt es drei Arten von Ausdrücken: numerisch, String und boolesch.
Testen
Laden Sie das Skript mit Ausdrucksbeispielen herunter und importieren Sie es in Studio. Die auf dieser Hilfeseite genannten Beispiele sind in
Numerische Ausdrücke
Numerische Ausdrücke enthalten ausschließlich numerische Werte und mathematische oder boolesche Operatoren, wie +, - usw. Sie können auch Variablenverweise umfassen, sofern die Variablen numerische Werte enthalten, die in den Berechnungen verwendet werden.
Numerische Ausdrücke werden in Snippets und zur Konfiguration der Eigenschaften von Studio-Aktionen verwendet. Beispiel: In der IF-Aktion konfigurieren Sie die Expression-Eigenschaft mit einem Ausdruck, der ausgewertet wird, um für die Aktion eine Entscheidung zu treffen. Alternativ können Sie in einem Snippet das
Syntax numerischer Ausdrücke
Variablen, die in numerischen Ausdrücken verwendet werden, dürfen nicht in geschweifte Klammern und doppelte Anführungszeichen eingeschlossen werden. Dies würde zu einem Fehler im Skript führen.
Auswertung numerischer Ausdrücke
Das Skript wertet die numerischen Werte in einem numerischen Ausdruck als Zahlen aus, sofern möglich. Das bedeutet:
- Alle Elemente, die nicht als numerische Werte ausgewertet werden können, wie Buchstaben oder Wörter, werden als Variablenverweise ausgewertet.
- Wenn nicht numerische Zeichen im Ausdruck im Skript eine Variable mit einem Stringwert sind, ignoriert das Skript die nicht numerischen Zeichen und wertet den numerischen Teil des ursprünglichen Ausdrucks aus.
- Wenn die nicht numerischen Zeichen im Ausdruck eine Variable mit einem numerischen Wert sind, berücksichtigt das Skript diesen Wert bei der Auswertung des Ausdrucks.
- Wenn die nicht numerischen Zeichen im Ausdruck keine Variable im Skript sind, ignoriert das Skript diese Zeichen im ursprünglichen Ausdruck.
Im folgenden Beispiel versucht das Skript, das Element nextNum als Variable auszuwerten, da es nicht als Zahl ausgewertet werden kann: c1 = 123 + 456 + nextNum. Die folgenden Beispiele zeigen das Ergebnis von drei Szenarien, je nachdem, ob nextNum eine Variable ist und wie der Wert lautet.
Wenn nextNum eine Variable mit einem Stringwert ist, lautet das Ergebnis c1 = 579:
ASSIGN nextNum = "my string"
ASSIGN c2 = 123 + 456 + nextNum
Wenn nextNum eine Variable mit einem numerischen Wert ist, lautet das Ergebnis c2 = 1368:
ASSIGN nextNum = 789
ASSIGN c3 = 123 + 456 + nextNum
Wenn nextNum keine Variable ist, lautet das Ergebnis c3 = 579:
ASSIGN c3 = 123 + 456 + nextNum
Beim Auswerten eines Ausdrucks mit zwei Variablen, die beide numerische Werte enthalten, die als Stringwerte interpretiert werden, konvertiert das Skript die Werte in Zahlen und wertet sie entsprechend aus. Das Ergebnis des folgenden Beispiels lautet c4 = 50:
ASSIGN nextNum = "20"
ASSIGN otherNum = "30"
ASSIGN c4 = nextNum + otherNum
Sie können numerische Ausdrücke in Stringwerte aufnehmen, indem Sie den Ausdruck in geschweifte Klammern einschließen. Beispiel:
ASSIGN nextNum = 6
ASSIGN otherNum = 7
ASSIGN c5 = "There are {nextNum + otherNum} fish in the aquarium."
Zahlen mit führenden Nullen
Studio handhabt numerische Werte unterschiedlich, je nachdem, ob sie als Strings oder als Zahlen interpretiert werden. Wenn numerische Werte als String interpretiert werden, können sie führende Nullen haben. Wenn Sie zwei Variablen addieren, die numerische Stringwerte mit führenden Nullen enthalten, werden die führenden Nullen entfernt. Das Ergebnis des folgenden Ausdrucks lautet z. B. c6=59:
ASSIGN nextNum = "00020"
ASSIGN otherNum = "000039"
ASSIGN c6 = nextNum+otherNum
Wenn der resultierende Wert führende Nullen enthalten muss, können Sie die Funktion
String-Ausdrücke
String-Ausdrücke enthalten alphanumerische Zeichen und Sonderzeichen, wie beispielsweise # und @. Die Syntax für String-Ausdrücke ähnelt der Syntax zum Zuweisen von Stringwerten zu Variablen:
- In Snippets müssen Stringwerte für Ausdrücke immer in einzelne oder doppelte Anführungszeichen eingeschlossen werden. Dies entspricht der Vorgehensweise für Stringwerte.
- Für eine Variablenersetzung in String-Ausdrücken muss der Name der Variablen in geschweifte Klammern eingeschlossen werden.
- Einige Zeichen, wie z. B. doppelte Anführungszeichen, gelten als Code. Wenn Sie diese Zeichen in Stringwerten verwenden möchten, müssen Sie Escape-Sequenzen verwenden.
String-Vergleiche
Strings können in booleschen Ausdrücken als Werte ausgewertet werden. Beispielsweise können Sie in einer
Kunde = "Grendel Cainson"
Wenn Kunde den exakten Wert Grendel Cainson enthält, lautet das Ergebnis true. Bei jedem anderen Wert lautet das Ergebnis false.
Sie können die Operatoren "größer als" und "kleiner als" in String-Vergleichen verwenden. Bei dieser Art von Vergleich wird jedem Buchstaben ein Wert zugewiesen (A = 1 und Z = 26). Zunächst vergleicht das Skript das erste Zeichen. Wenn sich die Werte unterscheiden, ist derjenige größer, der mit einem Buchstaben beginnt, der weiter hinten im Alphabet vorkommt. Beispiel: Im Vergleich apple > banana lautet das Ergebnis false. Grund hierfür ist, dass
Wenn die ersten Zeichen gleich sind, vergleicht das Skript die zweiten Zeichen. Wenn sie sich unterscheiden, stoppt der Vergleich an dieser Stelle. Wenn die zweiten Zeichen gleich sind, fährt das Skript mit dem Vergleichen von Zeichen fort, bis ein unterschiedliches Paar erreicht wird. Beispiel: Bei grapes > grapey vergleicht das Skript jedes Zeichen, bis es das Ende erreicht. Das Ergebnis ist false, weil
Bei Vergleichen des Typs "größer als oder gleich" und "kleiner als oder gleich" gelten dieselben Regeln. Wenn das Skript feststellt, dass der String links vom Operator mit dem String auf der rechten Seite identisch ist, wird der Ausdruck als true ausgewertet.
Bei String-Vergleichen wird zwischen Groß- und Kleinschreibung unterschieden.
Escape-Sequenzen in Strings
Studio unterstützt Escape-Sequenzen mit String-Konstanten. Escape-Sequenzen ermöglichen Ihnen das Einbeziehen bestimmter Sonderzeichen in einen String. Zeichen wie doppelte Anführungszeichen oder eine öffnende geschweifte Klammer werden als Code erkannt. Wenn diese Zeichen in einem String enthalten sind, interpretiert der Compiler sie nicht mit ihrem Literalwert, sondern als Code. Escape-Sequenzen ermöglichen es Ihnen, diese Zeichen in Strings einzuschließen. Wenn Sie diese Zeichen ohne eine Escape-Sequenz in Strings einschließen, entspricht die Ausgabe nicht Ihren Erwartungen. Möglicherweise tritt auch ein Fehler auf.
Sie müssen keine Escape-Sequenzen in Strings einfügen, die konvertierten XML- oder JSON-Code enthalten. Die Escape-Sequenzen werden für Zeichen, bei denen sie erforderlich sind, automatisch hinzugefügt.
Stellen Sie jedem String, in dem Sie eine Escape-Sequenz verwenden, das Dollarzeichen ($) als Präfix voran: $"...". In den doppelten Anführungszeichen können Sie dann irgendeine der folgenden Escape-Sequenzen verwenden:
Reihenfolge | Details |
---|---|
|
Betten Sie ein doppeltes Anführungszeichen ein. |
|
Betten Sie ein einfaches Anführungszeichen ein. |
|
Betten Sie ein Tabulatorzeichen ein (ASCII 9). |
|
Betten Sie einen Wagenrücklauf ein (ASCII 13). |
|
Betten Sie einen Zeilenvorschub ein (ASCII 10). |
|
Betten Sie eine Rücktaste ein (ASCII 8). |
|
Betten Sie eine offene geschweifte Klammer ein. Für eine schließende geschweifte Klammer müssen Sie nur dann ein Escape-Zeichen verwenden, wenn vor der öffnenden geschweiften Klammer im Text davor kein Escape-Zeichen steht. Wenn Sie eine schließende geschweifte Klammer mit einem Escape-Zeichen versehen müssen, sieht sie folgendermaßen aus: |
|
Betten Sie eine Null ein (0 ist eine Null). |
Im folgenden Beispiel wird die Escape-Sequenz \n verwendet, um dem String einen Zeilenvorschub hinzuzufügen. Dadurch wird der Cursor nach unten zur nächsten Zeile verschoben, ohne dass er zum Anfang der Zeile zurückkehrt.
x = $"A phrase\nAnd a new line"
Wenn der String gedruckt wird, sieht die Ausgabe folgendermaßen aus:
A phrase
And a new line ]
Im vorherigen Beispiel stellt die schließende eckige Klammer den Cursor dar.
Im folgenden Beispiel wird die Escape-Sequenz \" verwendet, um doppelte Anführungszeichen in den String einzufügen:
y = $"Embedding \"double quotes\" in a string."
Wenn der String gedruckt wird, sieht er folgendermaßen aus: Embedding "double quotes" in a string. Ohne die Escape-Sequenz würde das Skript den String nur bis zu den doppelten Anführungszeichen vor dem Wort double erkennen.
Im folgenden Beispiel wird die Escape-Sequenz \{ verwendet, um geschweifte Klammern als Literalwert in den String einzufügen:
z = $"Using \{curly} braces."
Wenn der String gedruckt wird, sieht er folgendermaßen aus: Using {curly} braces. Ohne die Escape-Sequenz hätte das Skript
Boolesche Ausdrücke
Studio unterstützt die Verwendung von booleschen Ein Datentyp, der zwei mögliche Werte hat: wahr und falsch. Ausdrücken. Sie können damit in Ihrem Skript Logik erstellen, mit der Entscheidungen getroffen werden. Boolesche Ausdrücke werden als entweder "true" oder "false" ausgewertet. Deshalb können Sie damit Bedingungen erstellen, die erfüllt werden müssen, um zu entscheiden, welchem Pfad gefolgt wird. Wenn die Bedingung erfüllt wird, folgt das Skript der jeweiligen Verzweigung; wird sie nicht erfüllt, folgt es der anderen Verzweigung.
In booleschen Ausdrücken können Sie verschiedene Operatoren verwenden. So können Sie eine logische Bedingungsanweisung definieren, die für Ihr Skript geeignet ist. Beispielsweise können Sie mit dem Gleichheitszeichen (=) überprüfen, ob zwei Werte identisch sind. Oder Sie verwenden den Operator "größer als" (>), um zu bestimmen, ob ein Wert größer als ein anderer ist.
Sie können boolesche Ausdrücke mit Aktionen wie If und Snippet verwenden (Hilfeseiten in CXone Studio: If und Snippet). Einige Anweisungen, die Sie in Snippets verwenden können, nutzen boolesche Ausdrücke, um Entscheidungen zu treffen. Dazu zählen:
- IF
- IF ... ELSE
- SELECT
Das folgende Beispiel veranschaulicht die Verwendung eines booleschen Ausdrucks mit einer
ASSIGN var1 = "Cat"
IF var1 = "Dog"
{
ASSIGN dogWasFound = true
}
ELSE
{
ASSIGN dogWasFound = false
}
Boolesche Ausdrücke können bei der Skripterstellung auch mit Aktionen verwendet werden. Die folgende Abbildung zeigt dieselbe Anweisung
Aktivieren oder Deaktivieren von Einstellungen mithilfe von booleschen Werten
Boolesche Werte werden manchmal in Skripten verwendet, um Einstellungen in CXone zu aktivieren oder zu deaktivieren. In diesen Fällen weisen Sie einer Variablen einen booleschen Wert zu. Um eine Einstellung zu aktivieren, weisen Sie den Wert true oder 1 zu. Um eine Einstellung zu deaktivieren, weisen Sie den Wert false oder 0 zu.
Sowohl die Wörter als auch die Zahlen sind gültige boolesche Werte. Sie sollten jedoch in der Online-Hilfe für die jeweilige Studio-Aktion nachschlagen, ob es für die Eigenschaften der Aktion einen bevorzugten Wert gibt. In jedem Fall darf der verwendete Wert nicht in Anführungszeichen eingeschlossen werden. Wenn Sie den Wert in Anführungszeichen einschließen, interpretiert das Skript ihn nicht als booleschen Wert, sondern als Literalstring.
Operatoren
Ein Operator ist ein Symbol, das eine mathematische Operation oder einen Vergleich darstellt. Symbole wie +, - und = sind Operatoren. Boolesche Operatoren vergleichen zwei Ausdrücke und geben als Ergebnis eine "true/false"-Antwort zurück. In Snippets werden sowohl mathematische Operatoren als auch boolesche Operatoren unterstützt.
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 |
Gleichheitszeichen in Ausdrücken
Das Gleichheitszeichen ( = ) wird unterschiedlich interpretiert, je nachdem, mit welchem Ausdruck Sie arbeiten.
Die Ausdrücke in Zuweisungsanweisungen weisen einen Ausdruck zu, der als Wert einer Variablen interpretiert werden soll. In diesen Anweisungen repräsentiert das Gleichheitszeichen die Zuweisung des Wertes auf der rechten Seite des Ausdrucks zur Variablen auf der linken Seite.
In anderen Ausdrücken weist das Gleichheitszeichen auf eine Entsprechung hin. Beispiel: Im algebraischen Ausdruck x = 3 * (5 + 10) bedeutet das Gleichheitszeichen, dass x den Wert darstellt, der sich aus dem algebraischen Ausdruck 3 * (5 + 10) ergibt. In diesem Fall: x = 45. Sie können diesen algebraischen Ausdruck in einer Zuweisungsanweisung verwenden, um den Wert des Ausdrucks der Variablen x zuzuweisen. Wenn derselbe Ausdruck jedoch als boolescher Ausdruck verwendet wird, wäre das Ergebnis je nach dem Wert von x entweder "true" oder "false".
Boolesche Ausdrücke werden häufig in Studio-Skripten verwendet. Wenn Sie in diesen Ausdrücken das Gleichheitszeichen als Operator verwenden, vergleicht es den Wert auf der linken Seite des Gleichheitszeichens mit dem Wert auf der rechten Seite, um festzustellen, ob die Werte gleich sind. Wenn Sie den Wert einer Variablen in einem booleschen Ausdruck ändern müssen, verwenden Sie entweder eine ASSIGN-Aktion oder eine ASSIGN-Anweisung in einer Snippet-Aktion.