Variables dynamiques script
Les variables dynamiques calculent leurs propres valeurs en exécutant des instructions et des expressions logiques. Une variable dynamique s’attribue le résultat d’un calcul ou d’une opération. Les types de variables dynamiques sont : chaîne dynamique, nombre dynamique et dynamique True / False (Boolean).
Dans utilisateur l’interface, les variables dynamiques sont désignées par un symbole d’éclair pour les différencier des autres types variables. La valeur d’une variable dynamique est le résultat d’instructions de qualité JavaScript, qui peuvent inclure des expressions Math.js sélectionnées et fonctions supplémentaires développé Genesys par. voir opérateurs et fonctions arithmétiquesle Site Web de MathJSet fonctions supplémentaires que vous pouvez utiliser dans les variables dynamiques. Une expression logique dans une variable dynamique peut évaluer l’état d’autres variables.
Chaque type variable dynamique vous permet d’intégrer une expression. Ces instructions définissent la valeur de la variable, éventuellement sur la base d’autres variables. Le résultat doit correspondre au type de variable dynamique. Par exemple, le code d’une chaîne dynamique doit correspondre à une valeur de chaîne.
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.Quant à l’affectation à la variable dynamique, vous ne le faites pas explicitement ; la dernière valeur évaluée est affectée à la variable dynamique. Par exemple, si vous entrez ces expressions comme une variable dynamique :
x = 5; y = x + 2; x
Les trois expressions sont évaluées dans l’ordre descendant. La valeur de la dernière expression est attribuée à la variable dynamique. Dans cet exemple, x a la valeur 5, qui est affectée à la variable dynamique.
Exemple 1 : Utiliser un nombre dynamique pour calculer les entrées d’utilisateur sur un formulaire
Dans cet exemple, une variable numérique dynamique calcule le résultat de plusieurs valeurs entrées dans un formulaire.
En conception mode, une pile verticale de utilisateur boîtes d’entrée invite à l’entrée.
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
Pour les valeurs indiquées ci-dessus, le calcul est :
10 + 10 - 4 * 2 / 2 + 2.1
Le calcul est effectué chaque fois que l’une des variables que le calcul utilise change.
In the example shown, the result stored in dNum_TestNum
is 18.1.
Exemple 2 : Utilisez un dynamique True / False (Boolean) pour déterminer si les variables numériques correspondent
In this example, a dynamic Boolean variable returns true
if numeric inputs match or false
if they don’t match.
En conception mode, la page affiche deux entrées numériques dont les valeurs sont stockées dans des variables numériques. Le code dans un booléen dynamique les compare pour l’égalité.
En mode de prévisualisation ou au moment de l’exécution, les valeurs entrées dans le formulaire sont comparées pour égalité.
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.
Le résultat est calculé chaque variable d’entrée fois que la valeur de l’un ou l’autre change.
Exemple 3 : Manipulations de cordes
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)))
Cochez la case pour inverser la casse de la chaîne.
Exemple 4 : Utiliser une expression régulière pour valider des chaînes de caractères et des chiffres
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”.
Pour plus de détails sur les expressions régulières et leur débogage, voir Regexr.