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).
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.
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.
Im Entwurfsmodus fordert ein vertikaler Stapel von Eingabefeldern den Benutzer zur Eingabe auf.
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
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.
Im Entwurfsmodus zeigt die Seite zwei numerische Eingaben, deren Werte in numerischen Variablen gespeichert sind. Code in einem dynamischen Booleschen vergleicht sie auf Gleichheit.
Im Vorschaumodus oder zur Laufzeit werden die in das Formular eingegebenen Werte auf Gleichheit verglichen.
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
Der vom Benutzer eingegebene Text wird in str_overwrite
gespeichert. 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
Das Kontrollkästchen "Swap Lower and Upper" schaltet den Fall von dStr_Test
um. 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:
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.
Weitere Details zu Regulären Ausdrücken und deren Fehlersuche finden Sie unter Regexr.