Funções Lógicas
Use as funções lógicas para controlar o fluxo de scripts Jitterbit.
Nota
- O número máximo de iterações de loop permitido no Harmony é 50.000.
- O número máximo de iterações de loop em Jitterbit Script Language é por cada loop individual. Para aumentar o número permitido de iterações por loop em um script Jitterbit Script Language, consulte jitterbit.scripting.while.max_iterations em Script de variáveis Jitterbit.
- O número máximo de iterações de loop em JavaScript é por script (agregado de todos os loops em um script). Para aumentar o número máximo de iterações de loop em JavaScript, consulte Java Script Loop em JavaScript.
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 Necessá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 para de verificar e retorna o segundo argumento com o tipo preservado. Caso contrário, ele verificará o próximo par e assim por diante. Se nenhum dos pares avaliar como true
, null
é devolvido.
Para criar um caso padrão ou fall-through, 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 fall-through.
$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 Necessários
-
array1, array2:
(Primeira forma) Duas matrizes de mesmo comprimento e dimensão; se não, a função retornafalse
-
arg1, arg2:
(Segunda forma) Dois tipos ou expressões simples
Descrição
Executa uma comparação recursiva de dois arrays. devoluções true
se todos os membros correspondentes das matrizes forem iguais, caso contrário, retorna 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 ==
operador em duas matrizes. Usando o ==
operador em duas matrizes retorna uma matriz de booleanos contendo o resultado de uma comparação de cada membro da matriz. O uso dessa função compara cada elemento correspondente por vez.
O Equal()
a função sempre retorna false se os dois argumentos da matriz tiverem tamanhos diferentes.
A conversão e promoção de tipo são executadas se os argumentos ou elementos que estão 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 Necessá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 se a condição for falsa
Descrição
devoluções trueResult
se a condição for verdadeira senão retorna falseResult
.
Se o primeiro argumento (condition
) não é um tipo de dados booleano, ele é convertido em um booleano antes de ser avaliado. Se o terceiro argumento opcional não for especificado e condition
é false
, a null
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 Necessá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 desde que uma condição seja verdadeira.
A variável Jitterbit jitterbit.scripting.while.max_iterations
limita o número de iterações. Um erro é 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++;
);