Saltar al contenido

Funciones lógicas en Jitterbit Studio

Utiliza las funciones lógicas para controlar el flujo de los Scripts de Jitterbit.

Nota

Se permite un máximo de 50,000 iteraciones de bucle para cada bucle individual en los Scripts de Jitterbit. Para aumentar el número permitido de iteraciones por bucle, consulta jitterbit.scripting.while.max_iterations en Variables de scripting de Jitterbit.

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 que se evaluará por su resultado booleano
  • arg1: Un argumento que se devolverá si b1 es true

Parámetros opcionales

  • b2... bN: Expresiones adicionales que se evaluarán por su veracidad
  • arg2... argN: Argumentos adicionales que se devolverán 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 verificar y devuelve el segundo argumento con el tipo preservado. De lo contrario, verificará el siguiente par, y así sucesivamente. Si ninguno de los pares evalúa a true, se devuelve null.

Para crear un caso por defecto o de caída, utiliza true y el valor de retorno deseado como el último par. Consulta el ejemplo.

Ejemplos

Este ejemplo devuelve "Muy Caro" si price es 1000 o más. El true en el último par de argumentos sirve como el caso por defecto o de caída.

$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 arreglos de la misma longitud y dimensión; de lo contrario, la función devuelve false

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

Descripción

Realiza una comparación recursiva de dos arreglos. Devuelve true si todos los miembros correspondientes de los arreglos 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 y compararlos.

Llamar a esta función para comparar dos arreglos es diferente de usar el operador == en dos arreglos. Usar el operador == en dos arreglos devuelve un arreglo de booleanos que contiene el resultado de la comparación de cada miembro del arreglo. Usar esta función compara cada elemento correspondiente por turno.

La función Equal() siempre devuelve false si los dos argumentos de arreglo tienen tamaños diferentes.

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

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 que se evaluará para su resultado booleano
  • trueResult: Una expresión que se evaluará y cuyo resultado se devolverá si condition es true

Parámetros opcionales

  • falseResult: Una expresión que se evaluará y cuyo resultado se devolverá si condition es false

Descripción

Devuelve trueResult si la condición es verdadera, de lo contrario devuelve falseResult.

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

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 que se evaluará para su resultado booleano
  • expression: Una expresión que se evaluará repetidamente mientras condition sea true

Descripción

Ejecuta repetidamente una expresión mientras una condición sea verdadera.

La variable de 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++;
    );