Saltar al contenido

Funciones Lógicas

Utilice las funciones lógicas para controlar el flujo de secuencias de comandos de Jitterbit.

Nota

  • El número máximo de iteraciones de bucle permitidas en Harmony es 50 000.
  • El número máximo de iteraciones de bucle en Jitterbit Secuencia de Comandos Language es por cada bucle individual. Para aumentar el número permitido de iteraciones por bucle en una secuencia de comandos de Jitterbit Secuencia de Comandos Language, consulte jitterbit.scripting.while.max_iterations en Scripting de variables Jitterbit.
  • El número máximo de iteraciones de bucle en JavaScript es por secuencia de comandos (agregado de todos los bucles dentro de una secuencia de comandos). Para aumentar el número máximo de iteraciones de bucle en JavaScript, consulte Java Secuencia de Comandos Loop en JavaScript.

Case

Declaración

typeN Case(bool b1, type1 arg1[, bool b2, type2 arg2,... bool bN, typeN argN])

Sintaxis

Case(<b1>, <arg1>[, <b2>, <arg2>,... <bN>, <argN>])

Parámetros Requeridos

  • b1: Una expresión para ser evaluada por su resultado booleano
  • arg1: Un argumento que se devolverá si b1 es true

Parámetros Opcionales

  • b2... bN: Expresiones adicionales para evaluar su veracidad
  • arg2... argN: Se devolverán argumentos adicionales si el parámetro coincidente es true

Descripción

Esta función evalúa pares de argumentos: si la evaluación de la expresión en el primer argumento de un par es true, deja de comprobar y devuelve el segundo argumento con el tipo conservado. De lo contrario, comprobará el siguiente par, y así sucesivamente. Si ninguno de los pares se evalúa como true, null es regresado.

Para crear un caso predeterminado o fallido, use true y el valor de retorno deseado como el último par. Vea el ejemplo.

Ejemplos

Este ejemplo vuelve "Very Expensive" si price es 1000 o mas alto. El true en el último par de argumentos sirve como caso predeterminado o fallido.

$label = Case(price < 10, "Cheap",
              price < 100, "Not Cheap",
              price < 1000, "Expensive",
              true, "Very Expensive");

Equal

Declaración

bool Equal(type1 array1, type2 array2)

bool Equal(type1 arg1, type2 arg2)

Sintaxis

Equal(<array1>, <array2>)

Equal(<arg1>, <arg2>)

Parámetros Requeridos

  • array1, array2: (Primera forma) Dos matrices de la misma longitud y dimensión; si no, la función devuelve false

  • arg1, arg2: (Segunda forma) Dos tipos simples o expresiones

Descripción

Realiza una comparación recursiva de dos matrices. Devoluciones true si todos los miembros correspondientes de las matrices son iguales, de lo contrario, devuelve false. También se puede usar con tipos simples y sigue las reglas de conversión para promover diferentes tipos para compararlos.

Llamar a esta función para comparar dos arreglos es diferente de usar el == operador en dos arreglos. Utilizando el == operador en dos matrices devuelve una matriz de valores booleanos que contienen el resultado de una comparación de cada miembro de la matriz. El uso de esta función compara cada elemento correspondiente a su vez.

El Equal() la función siempre devuelve falso si los dos argumentos de la matriz tienen tamaños diferentes.

La conversión y promoción de tipos se realiza si los argumentos o elementos que se comparan son de tipos diferentes.

Ejemplos

x = {1, 2.0, 3};
y = {1, 5, 3};

// Returns false since 2.0 != 5
Equal(x, y);

// Returns true because both arrays contain only non-zero numbers.
// Comparison is made as booleans
Equal(Bool(x), y);

If

Declaración

typeN If(bool condition, type1 trueResult[, type2 falseResult])

Sintaxis

If(<condition>, <trueResult>[, <falseResult>])

Parámetros Requeridos

  • condition: Una expresión para ser evaluada por su resultado booleano
  • trueResult: Una expresión para ser evaluada y su resultado devuelto si condition es true

Parámetros Opcionales

  • falseResult: Una expresión para ser evaluada y su resultado devuelto si la condición es falsa

Descripción

Devoluciones trueResult si la condición es verdadera, de lo contrario regresa falseResult.

Si el primer argumento (condition) no es un tipo de datos booleano, se convierte en un booleano antes de evaluarlo. Si no se especifica el tercer argumento opcional y condition es false, a null se devuelve el valor.

Ejemplos

//  Returns "Diane"
If(false, "Jack", "Diane");

// Returns "Spoon"
If(7>4, "Spoon", "Knife");

// Adds a trailing comma to s if s is not empty
If(Length(s)>0,
    s = s + ",";
    );

While

Declaración

null While(bool condition, type expression)

Sintaxis

While(<condition>, <expression>)

Parámetros Requeridos

  • condition: Una expresión para ser evaluada por su resultado booleano
  • expression: Una expresión que se evaluará repetidamente siempre que condition es true

Descripción

Ejecuta repetidamente una expresión siempre que una condición sea verdadera.

La variable Jitterbit jitterbit.scripting.while.max_iterations limita el número de iteraciones. Se informa un error si se alcanza el número máximo de iteraciones.

Ejemplos

$jitterbit.scripting.while.max_iterations = 2000;
i = 0;
arr = {"a@example.com", "b@example.com", "c@example.com"};
s = "";
// Concatenates the elements of the array arr
// with commas separating each element
While(i < Length(arr),
    s = s + Get(arr,i) + ",";
    i++;
    );