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). 

La figure montre l’éclair utilisé pour désigner qu’un type variable est dynamique.

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.

Note: Many examples in the MathJS documentation are written in JavaScript. Genesys Cloud script designers should drop “math.” prefixes from the beginning of each expression. For example, if the documented MathJS expression is 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.

La figure affiche  conception  le formulaire d’entrée en mode

En conception mode, une pile verticale de utilisateur boîtes d’entrée invite à l’entrée.

La figure montre l’apparence du formulaire en mode aperçu

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

La figure affiche la formule de calcul dans une variable de nombre dynamique.

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.

Figure  conception  montre la forme avec 2 valeurs numériques

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é.

dynamic_boolean_preview

En mode de prévisualisation ou au moment de l’exécution, les valeurs entrées dans le formulaire sont comparées pour égalité.

La figure montre comment éditer la variable

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.

La figure montre l’apparence  conception  des composants et des variables en mode.

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.

La figure montre l’apparence de la page sur ex exécuter

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:

Scripteur Variable True/False

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”.

Le texte correspond à la Regex

Le texte correspond à la Regex : vrai

Le texte correspond à la Regex : faux

Pour plus de détails sur les expressions régulières et leur débogage, voir Regexr.