Funções lógicas no Jitterbit Studio
Use as funções lógicas para controlar o fluxo dos Scripts Jitterbit.
Nota
Um máximo de 50.000 iterações de loop é permitido para cada loop individual nos Scripts Jitterbit. Para aumentar o número permitido de iterações por loop, consulte jitterbit.scripting.while.max_iterations em Variáveis de scripting Jitterbit.
Case
Declaração
typeN Case(bool b1, type1 arg1[, bool b2, type2 arg2,... bool bN, typeN argN])
Sintaxe
Case(<b1>, <arg1>[, <b2>, <arg2>,... <bN>, <argN>])
Parâmetros obrigatórios
b1: Uma expressão a ser avaliada para seu resultado booleanoarg1: Um argumento a ser retornado seb1fortrue
Parâmetros opcionais
b2... bN: Expressões adicionais a serem avaliadas quanto à veracidadearg2... argN: Argumentos adicionais a serem retornados se o parâmetro correspondente fortrue
Descrição
Esta função avalia pares de argumentos: se a avaliação da expressão no primeiro argumento de um par for true, ela para de verificar e retorna o segundo argumento com o tipo preservado. Caso contrário, verifica o próximo par e assim por diante. Se nenhum dos pares for avaliado como true, retorna null.
Para criar um caso padrão ou de fallback, use true e o valor de retorno desejado como o último par. Veja o exemplo.
Exemplos
Este exemplo retorna "Very Expensive" se price for 1000 ou superior. O true no último par de argumentos funciona como o caso padrão ou de fallback.
$label = Case(price < 10, "Cheap",
price < 100, "Not Cheap",
price < 1000, "Expensive",
true, "Very Expensive");
Equal
Declaração
bool Equal(type1 array1, type2 array2)
bool Equal(type1 arg1, type2 arg2)
Sintaxe
Equal(<array1>, <array2>)
Equal(<arg1>, <arg2>)
Parâmetros obrigatórios
-
array1, array2: (Primeira forma) Dois arrays do mesmo comprimento e dimensão; caso contrário, a função retornafalse -
arg1, arg2: (Segunda forma) Dois tipos simples ou expressões
Descrição
Realiza uma comparação recursiva de dois arrays. Retorna true se todos os membros correspondentes dos arrays forem iguais; caso contrário, retorna false. Também pode ser usada com tipos simples e segue regras de conversão para promover diferentes tipos e compará-los.
Chamar esta função para comparar dois arrays é diferente de usar o operador == em dois arrays. Usar o operador == em dois arrays retorna um array de booleanos contendo o resultado da comparação de cada membro do array. Usar esta função compara cada elemento correspondente por sua vez.
A função Equal() sempre retorna false se os dois argumentos de array tiverem tamanhos diferentes.
A conversão e promoção de tipo são realizadas se os argumentos ou elementos sendo comparados forem de tipos diferentes.
Exemplos
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
Declaração
typeN If(bool condition, type1 trueResult[, type2 falseResult])
Sintaxe
If(<condition>, <trueResult>[, <falseResult>])
Parâmetros obrigatórios
condition: Uma expressão a ser avaliada para seu resultado booleanotrueResult: Uma expressão a ser avaliada e seu resultado retornado seconditionfortrue
Parâmetros opcionais
falseResult: Uma expressão a ser avaliada e seu resultado retornado seconditionforfalse
Descrição
Retorna trueResult se a condição for verdadeira, caso contrário retorna falseResult.
Se o primeiro argumento (condition) não for um tipo de dado booleano, ele é convertido para booleano antes de ser avaliado. Se o terceiro argumento opcional não for especificado e condition for false, um valor null é retornado.
Exemplos
// 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
Declaração
null While(bool condition, type expression)
Sintaxe
While(<condition>, <expression>)
Parâmetros obrigatórios
condition: Uma expressão a ser avaliada para seu resultado booleanoexpression: Uma expressão a ser avaliada repetidamente enquantoconditionfortrue
Descrição
Executa repetidamente uma expressão enquanto uma condição for verdadeira.
A variável Jitterbit jitterbit.scripting.while.max_iterations limita o número de iterações. Um erro é reportado se o número máximo de iterações for atingido.
Nota
Este limite é separado do limite no nível do agente para chamadas síncronas de RunOperation feitas dentro de um loop While (50 por padrão). jitterbit.scripting.while.max_iterations limita o número total de iterações do loop, independentemente do que o loop faz em cada passagem. O limite de RunOperation limita apenas o número de chamadas de operação filha síncronas feitas dentro do loop. Consulte a nota em RunOperation para obter detalhes.
Exemplos
$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++;
);