Ir para o conteúdo

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 booleano
  • arg1: Um argumento a ser retornado se b1 for true

Parâmetros opcionais

  • b2... bN: Expressões adicionais a serem avaliadas quanto à veracidade
  • arg2... argN: Argumentos adicionais a serem retornados se o parâmetro correspondente for true

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 retorna false

  • 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 booleano
  • trueResult: Uma expressão a ser avaliada e seu resultado retornado se condition for true

Parâmetros opcionais

  • falseResult: Uma expressão a ser avaliada e seu resultado retornado se condition for false

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 booleano
  • expression: Uma expressão a ser avaliada repetidamente enquanto condition for 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 é 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++;
    );