Ir para o conteúdo

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 booleano
  • arg1: Um argumento a ser retornado se b1 é 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, 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 retorna false

  • 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 booleano
  • trueResult: Uma expressão a ser avaliada e seu resultado retornado se condition é 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 booleano
  • expression: Uma expressão a ser avaliada repetidamente, desde que condition é 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++;
    );