Ir para o conteúdo

Funções lógicas no Jitterbit Studio

Use as funções lógicas para controlar o fluxo dos Scripts do Jitterbit.

Nota

Um máximo de 50.000 iterações de loop é permitido para cada loop individual nos Scripts do Jitterbit. Para aumentar o número permitido de iterações por loop, consulte jitterbit.scripting.while.max_iterations em Variáveis de script do 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 quanto ao 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 a verificação 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, null é retornado.

Para criar um caso padrão ou de queda, use true e o valor de retorno desejado como o último par. Veja o exemplo.

Exemplos

Este exemplo retorna "Muito Caro" se price for 1000 ou mais. O true no último par de argumentos serve como o caso padrão ou de queda.

$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 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 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 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 vez.

A função Equal() sempre retorna false se os dois argumentos de array tiverem tamanhos diferentes.

A conversão e promoção de tipos é realizada 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 cujo resultado é retornado se condition for true

Parâmetros opcionais

  • falseResult: Uma expressão a ser avaliada e cujo 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 é relatado se o número máximo de iterações for alcançado.

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++;
    );