Variables de secuencia de comandos dinámicas
Las variables dinámicas calculan sus propios valores mediante la ejecución de declaraciones y expresiones lógicas. Una variable dinámica se asigna a sí misma el resultado de un cálculo u operación. Los tipos de variables dinámicas son cadena dinámica, número dinámico y verdadero / falso dinámico (booleano).
En la interfaz de usuario, las variables dinámicas se designan con un símbolo de rayo para diferenciarlas de otros tipos de variables. El valor de una variable dinámica es el resultado de declaraciones similares a JavaScript, que pueden incluir expresiones Math.js seleccionadas y funciones adicionales desarrolladas por Genesys. Ver operadores y funciones aritméticas, Referencia de la función MathJS, y funciones adicionales que puede utilizar en variables dinámicas. Una expresión lógica en una variable dinámica puede evaluar el estado de otras variables.
Cada tipo de variable dinámica le permite incrustar una expresión. Estas declaraciones definen el valor de la variable, potencialmente basado en otras variables. El resultado debe coincidir con el tipo de variable dinámica. Por ejemplo, el código de una cadena dinámica debe evaluarse como un valor de cadena.
math.add (1,3),
convertir eso en añadir (1,3)
en su variable dinámica. O, si el código de ejemplo en la documentación de MathJS es algo como math.fraction (numerador, denominador)
, la variable numérica dinámica equivalente es la fracción (numerador, denominador)
parte.En cuanto a la asignación a la variable dinámica, no lo hace explícitamente; el último valor evaluado se asigna a la variable dinámica. Por ejemplo, si ingresa estas expresiones como una variable dinámica:
x = 5; y = x + 2; x
Las tres expresiones se evalúan en orden descendente. El valor de la última expresión se asigna a la variable dinámica. En este ejemplo, x tiene un valor de 5, que se asigna a la variable dinámica.
Ejemplo 1: Utilice un número dinámico para calcular las entradas del usuario en un formulario
En este ejemplo, una variable numérica dinámica calcula el resultado de varios valores ingresados en un formulario.
En el modo de diseño, una pila vertical de cuadros de entrada solicita la entrada del usuario.
En el modo de vista previa o en tiempo de ejecución, los valores ingresados en el formulario se calculan mediante declaraciones en el dNum_TestNum
variable, y se muestra el resultado.
los dNum_TestNum
La variable contiene la fórmula que realiza este cálculo:
{{num_var1}} + {{num_var2}} - {{num_var3}} * {{num_var4}} / {{Num_TestNum}} + 2.1
Para los valores que se muestran arriba, el cálculo es:
10 + 10 - 4 * 2 / 2 + 2.1
El cálculo se realiza siempre que cambia una de las variables que utiliza el cálculo.
En el ejemplo que se muestra, el resultado almacenado en dNum_TestNum
es 18,1.
Ejemplo 2: Utilice un verdadero / falso (booleano) dinámico para determinar si las variables numéricas coinciden
En este ejemplo, una variable booleana dinámica devuelve cierto
si las entradas numéricas coinciden o falso
si no coinciden.
En el modo de diseño, la página muestra dos entradas numéricas cuyos valores se almacenan en variables numéricas. El código en un booleano dinámico los compara por igualdad.
En el modo de vista previa o en tiempo de ejecución, los valores ingresados en el formulario se comparan para determinar la igualdad.
La fórmula en dBool_Basic
es:
{{num_dBoolTest}} == {{num_dBoolTest2}}
Para los valores mostrados, el valor de dBool_Basic
es falso
ya que 2 no es igual a 1.
El resultado se calcula siempre que cambia el valor de cualquiera de las variables de entrada.
Ejemplo 3: Manipulaciones de cuerdas
En los dos ejemplos siguientes, Las variables de cadena dinámica analizan y reescriben la entrada del usuario. Una expresión en el dStr_Exp
variable reescribe el texto escrito por el usuario a "Esto es divertido". Una expresión en dStr_Test
invierte el caso cuando una casilla de verificación cambia de estado.
La entrada de texto por parte del usuario se almacena en str_overwrite
. Debajo de eso está la variable dinámica dStr_Exp
realizando esta expresión:
slice("This is fun.", 0 ,length({{str_overwrite}}))
En el modo de vista previa o en tiempo de ejecución, cualquier texto escrito se redacta de nuevo. La cadena se reescribe cuando el valor de str_overwrite
cambios.
La casilla de verificación Intercambiar inferior y superior alterna entre mayúsculas y minúsculas dStr_Test
. Su fórmula es:
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)))
Marque la casilla para invertir la caja de la cuerda.
Ejemplo 4: Utilizar una expresión regular para validar cadenas y números
En este ejemplo, una variable booleana dinámica devuelve true
si la cadena de entrada coincide con la expresión regular proporcionada:
La expresión regular utilizada aquí es ^\\d{1,4}$:
- el regex principal es \d{1,4}
(entre uno y cuatro dígitos): la barra se duplica (se escapa) porque es una cadena JavaScript, y se envuelve en ^
y $
para aplicar el patrón a las cadenas completas: por defecto, las coincidencias parciales están permitidas, así que sin esta envoltura, 12345 pasaría debido a la coincidencia parcial "1234".
Para más detalles sobre las Expresiones Regulares y su depuración, consulte Regexr.