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),
convert that to add(1,3)
in your dynamic variable. Or, if example code in the MathJS documentation is something like math.fraction(numerator, denominator)
, the equivalent dynamic number variable is the fraction(numerator, denominator)
part.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.
In preview mode or at run time, values entered on the form are calculated by statements in the dNum_TestNum
variable, and the result is shown.
The dNum_TestNum
variable contains the formula that performs this calculation:
{{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.
In the example shown, the result stored in dNum_TestNum
is 18.1.
Beispiel 2: Ein dynamisches Wahr/Falsch (Boolean) verwenden, um festzustellen, ob numerische Variablen übereinstimmen
In this example, a dynamic Boolean variable returns true
if numeric inputs match or false
if they don’t match.
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.
The formula in dBool_Basic
is:
{{num_dBoolTest}} == {{num_dBoolTest2}}
For the values shown, the value of dBool_Basic
is false
since 2 does not equal 1.
Das Ergebnis wird immer dann berechnet, wenn sich der Wert einer der beiden Eingangsvariablen ändert.
Beispiel 3: String-Manipulationen
In the next two examples, dynamic string variables parse and rewrite user input. An expression in the dStr_Exp
variable rewrites text typed by the user to “This is fun.” An expression in dStr_Test
inverts case when a check box changes state.
Text input by the user is stored in str_overwrite
. Below that is dynamic variable dStr_Exp
performing this expression:
slice("This is fun.", 0 ,length({{str_overwrite}}))
In preview mode or at runtime, any text typed is reworded. The string is rewritten when the value of str_overwrite
changes.
The Swap Lower and Upper check box toggles the case of dStr_Test
. Its formula is:
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 this example, a dynamic Boolean variable returns true
if the string input matches the provided regex:
The regex used here is ^\\d{1,4}$:
– the core regex is \d{1,4}
(between one and four digits): the slash is doubled (escaped) because it is a JavaScript string, and it is wrapped in ^
and $
to apply the pattern to the whole strings: by default, partial matches are allowed so without this wrapping, 12345 would pass because of the partial match “1234”.
Weitere Details zu Regulären Ausdrücken und deren Fehlersuche finden Sie unter Regexr.