Funções Lógicas
Use as funções lógicas para controlar o fluxo de Scripts Jitterbit.
Nota
Um máximo de 50.000 iterações de loop são permitidas para cada loop individual em Jitterbit Scripts. Para aumentar o número permitido de iterações por loop, consulte jitterbit.scripting.while.max_iterations
em Script de variáveis 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 por seu resultado booleanoarg1
: Um argumento a ser retornado seb1
étrue
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
, ele interrompe a verificação e retorna o segundo argumento com o tipo preservado. Caso contrário, verificará o próximo par e assim por diante. Se nenhum dos pares avaliar como true
, null
é retornado.
Para criar um caso padrão ou falho, use true
e o valor de retorno desejado como o último par. Veja o exemplo.
Exemplos
Este exemplo retorna "Very Expensive"
se price
é 1000
ou mais alto. O true
no último par de argumentos serve como caso padrão ou falho.
$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 de mesmo comprimento e dimensão; caso contrário, a função retornafalse
-
arg1, arg2
: (Segunda forma) Dois tipos ou expressões simples
Descrição
Executa uma comparação recursiva de duas matrizes. Devoluções true
se todos os membros correspondentes das matrizes forem iguais, caso contrário, ele retornará false
. Também pode ser usado com tipos simples e segue regras de conversão para promover diferentes tipos para compará-los.
Chamar esta função para comparar dois arrays é diferente de usar o método ==
operador em duas matrizes. Usando o ==
operador em dois arrays retorna um array de booleanos contendo o resultado de uma comparação de cada membro do array. O uso desta função compara cada elemento correspondente por vez.
O Equal()
A função sempre retorna falso se os dois argumentos do array tiverem tamanhos diferentes.
A conversão e promoção de tipo são executadas se os argumentos ou elementos 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 por seu resultado booleanotrueResult
: Uma expressão a ser avaliada e seu resultado retornado secondition
étrue
Parâmetros Opcionais
falseResult
: Uma expressão a ser avaliada e seu resultado retornado secondition
éfalse
Descrição
Devoluções trueResult
se a condição for verdadeira, caso contrário, ela retornará falseResult
.
Se o primeiro argumento (condition
) não é um tipo de dados booleano, ele é convertido em booleano antes de ser avaliado. Se o terceiro argumento opcional não for especificado e condition
é false
, a null
o valor é 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 por seu resultado booleanoexpression
: Uma expressão a ser avaliada repetidamente, desde quecondition
étrue
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 será relatado se o número máximo de iterações for atingido.
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++;
);