Funciones Lógicas¶
Utilice las funciones lógicas para controlar el flujo de Jitterbit Secuencias de Comandos.
Nota
Se permite un máximo de 50 000 iteraciones de bucle para cada bucle individual en Jitterbit Secuencias de Comandos. Para aumentar el número permitido de iteraciones por bucle, consulte jitterbit.scripting.while.max_iterations
en Secuencias de comandos de variables 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 booleanoarg1
: Un argumento que se devolverá sib1
estrue
Parámetros Opcionales¶
b2... bN
: Expresiones adicionales que se evaluarán para determinar su veracidadarg2... argN
: Se devolverán argumentos adicionales si el parámetro coincidente estrue
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 evalúa true
, null
es regresado.
Para crear un caso predeterminado o alternativo, utilice true
y el valor de retorno deseado como último par. Vea el ejemplo.
Ejemplos¶
Este ejemplo regresa "Very Expensive"
si price
es 1000
o mas alto. El true
en el último par de argumentos sirve como caso predeterminado o alternativo.
$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 regresafalse
-
arg1, arg2
: (Segunda forma) Dos tipos o expresiones simples
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 utilizar con tipos simples y sigue reglas de conversión para promover diferentes tipos y compararlos.
Llamar a esta función para comparar dos matrices es diferente a usar la función ==
operador en dos matrices. Utilizando el ==
El operador en dos matrices devuelve una matriz de valores booleanos que contiene el resultado de una comparación de cada miembro de la matriz. El uso de esta función compara cada elemento correspondiente por turno.
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 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á por su resultado booleanotrueResult
: Una expresión que se evaluará y su resultado se devolverá sicondition
estrue
Parámetros Opcionales¶
falseResult
: Una expresión que se evaluará y su resultado se devolverá sicondition
esfalse
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 a booleano antes de evaluarse. 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 que se evaluará por su resultado booleanoexpression
: Una expresión que se evaluará repetidamente siempre quecondition
estrue
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++;
);