Dynamische Skriptvariablen

Dynamische Variablen berechnen ihre eigenen Werte durch die Ausführung von Anweisungen und logischen Ausdrücken. Eine dynamische Variable weist sich selbst das Ergebnis einer Berechnung oder Operation zu. Die dynamischen Variablentypen sind dynamische Zeichenkette, dynamische Zahl und dynamisches Wahr/Falsch (Boolean). 

Die Abbildung zeigt den Blitz, der verwendet wird, um zu kennzeichnen, dass ein Variablentyp dynamisch ist.

In der Benutzeroberfläche werden dynamische Variablen durch ein Blitzsymbol gekennzeichnet, um sie von anderen Variablentypen zu unterscheiden. Der Wert einer dynamischen Variable ist das Ergebnis von JavaScript-ähnlichen Anweisungen, die ausgewählte Math.js-Ausdrücke und zusätzliche von Genesys entwickelte Funktionen enthalten können. Siehe arithmetische Operatoren und Funktionen, MathJS-Funktionsreferenz, und zusätzliche Funktionen, die Sie in dynamischen Variablen verwenden können. Ein logischer Ausdruck in einer dynamischen Variablen kann den Zustand anderer Variablen auswerten.

Jeder dynamische Variablentyp ermöglicht die Einbettung eines Ausdrucks. Diese Anweisungen definieren den Wert der Variablen, der möglicherweise auf anderen Variablen basiert. Das Ergebnis muss mit dem Typ der dynamischen Variablen übereinstimmen. Der Code in einer dynamischen Zeichenkette muss zum Beispiel einen String-Wert ergeben.

Hinweis: Viele Beispiele in der MathJS-Dokumentation sind in JavaScript geschrieben Genesys Cloud-Skriptdesigner sollten die Präfixe "math." am Anfang jedes Ausdrucks weglassen. Wenn der dokumentierte MathJS-Ausdruck beispielsweise math.add(1,3) lautet, konvertieren Sie in add(1,3) in Ihrer dynamischen Variablen. Wenn der Beispielcode in der MathJS-Dokumentation etwa so lautet: math.fraction(numerator, denominator), ist die entsprechende dynamische Zahlenvariable der Teil fraction(numerator, denominator)

Was die Zuweisung an die dynamische Variable betrifft, so geschieht dies nicht explizit; der letzte ausgewertete Wert wird der dynamischen Variablen zugewiesen. Wenn Sie zum Beispiel diese Ausdrücke als dynamische Variable eingeben:

x = 5; 
y = x + 2; 
x

Alle drei Ausdrücke werden in der Reihenfolge von oben nach unten ausgewertet. Der Wert des letzten Ausdrucks wird der dynamischen Variablen zugewiesen. In diesem Beispiel hat x den Wert 5, der der dynamischen Variablen zugewiesen wird.

Beispiel 1: Verwendung einer dynamischen Zahl zur Berechnung von Benutzereingaben in einem Formular

In diesem Beispiel berechnet eine dynamische Zahlenvariable das Ergebnis mehrerer in ein Formular eingegebener Werte.

Abbildung zeigt Eingabeformular im Entwurfsmodus

Im Entwurfsmodus fordert ein vertikaler Stapel von Eingabefeldern den Benutzer zur Eingabe auf.

Die Abbildung zeigt das Aussehen des Formulars im Vorschaumodus

Im Vorschaumodus oder zur Laufzeit werden die in das Formular eingegebenen Werte durch Anweisungen in der Variablen dNum_TestNum berechnet, und das Ergebnis wird angezeigt

Die Variable dNum_TestNum enthält die Formel, mit der diese Berechnung durchgeführt wird

{{num_var1}} + {{num_var2}} - {{num_var3}} * {{num_var4}} / {{Num_TestNum}} + 2.1

Die Abbildung zeigt die Berechnungsformel in einer dynamischen Zahlenvariablen.

Für die oben angegebenen Werte ergibt sich folgende Berechnung:

10 + 10 - 4 * 2 / 2 + 2.1

Die Berechnung wird immer dann durchgeführt, wenn sich eine der Variablen, die die Berechnung verwendet, ändert.

Im gezeigten Beispiel ist das in dNum_TestNum gespeicherte Ergebnis 18,1

Beispiel 2: Ein dynamisches Wahr/Falsch (Boolean) verwenden, um festzustellen, ob numerische Variablen übereinstimmen

In diesem Beispiel gibt eine dynamische boolesche Variable true zurück, wenn numerische Eingaben übereinstimmen, oder false , wenn sie nicht übereinstimmen.

Die Abbildung zeigt den Entwurf eines Formulars mit 2 numerischen Werten

Im Entwurfsmodus zeigt die Seite zwei numerische Eingaben, deren Werte in numerischen Variablen gespeichert sind. Code in einem dynamischen Booleschen vergleicht sie auf Gleichheit.

dynamic_boolean_preview

Im Vorschaumodus oder zur Laufzeit werden die in das Formular eingegebenen Werte auf Gleichheit verglichen.

Die Abbildung zeigt, wie Sie die Variable bearbeiten

Die Formel in dBool_Basic lautet

{{num_dBoolTest}} == {{num_dBoolTest2}}

Bei den gezeigten Werten ist der Wert von dBool_Basic falsch , da 2 nicht gleich 1 ist

Das Ergebnis wird immer dann berechnet, wenn sich der Wert einer der beiden Eingangsvariablen ändert.

Beispiel 3: String-Manipulationen

In den nächsten beiden Beispielen werden die dynamischen String-Variablen von die Benutzereingaben analysieren und umschreiben. Ein Ausdruck in der Variablen dStr_Exp schreibt den vom Benutzer eingegebenen Text in "This is fun" um Ein Ausdruck in dStr_Test invertiert die Groß- und Kleinschreibung, wenn ein Kontrollkästchen seinen Zustand ändert

Die Abbildung zeigt das Aussehen der Komponenten und Variablen im Entwurfsmodus.

Der vom Benutzer eingegebene Text wird in str_overwritegespeichert. Darunter befindet sich die dynamische Variable dStr_Exp , die diesen Ausdruck ausführt

slice("This is fun.", 0 ,length({{str_overwrite}}))

Im Vorschaumodus oder zur Laufzeit wird jeder eingegebene Text umformuliert. Die Zeichenkette wird umgeschrieben, wenn sich der Wert von str_overwrite ändert

Die Abbildung zeigt das Erscheinungsbild der Seite zur Laufzeit

Das Kontrollkästchen "Swap Lower and Upper" schaltet den Fall von dStr_Testum. Seine Formel lautet:

ifElse({{bool_swapLowerUpper}} == false, lower(slice({{str_HELLO worlds}}, 0, length({{str_HELLO worlds}})-6)) + " " + upper(slice({{str_HELLO worlds}}, length({{str_HELLO worlds}})-6)), upper(slice({{str_HELLO worlds}}, 0, length({{str_HELLO worlds}})-6)) + " " + lower(slice({{str_HELLO worlds}}, length({{str_HELLO worlds}})-6)))

Aktivieren Sie das Kontrollkästchen, um die Groß- und Kleinschreibung der Zeichenkette umzukehren.

Beispiel 4: Verwendung eines regulären Ausdrucks zur Überprüfung von Zeichenketten und Zahlen

In diesem Beispiel gibt eine dynamische boolesche Variable true zurück, wenn die eingegebene Zeichenfolge mit dem angegebenen Regex übereinstimmt:

Scripter Wahr/Falsch-Variable

Die hier verwendete Regex lautet ^\\d{1,4}$: - Die Kernregex lautet \d{1,4} (zwischen einer und vier Ziffern): der Schrägstrich wird verdoppelt (escaped), da es sich um eine JavaScript-Zeichenkette handelt, und er wird in ^  und $ eingeschlossen, um das Muster auf die gesamte Zeichenkette anzuwenden: Standardmäßig sind Teilübereinstimmungen erlaubt, so dass 12345 ohne diesen Umbruch wegen der Teilübereinstimmung "1234" durchgehen würde.

Text entspricht Regex

Text entspricht Regex: true

Text entspricht Regex: true

Weitere Details zu Regulären Ausdrücken und deren Fehlersuche finden Sie unter Regexr.