Zum Inhalt springen

Logische Funktionen in Jitterbit Studio

Verwenden Sie die logischen Funktionen, um den Ablauf von Jitterbit-Skripten zu steuern.

Hinweis

Es sind maximal 50.000 Schleifeniterationen für jede einzelne Schleife in Jitterbit-Skripten erlaubt. Um die zulässige Anzahl von Iterationen pro Schleife zu erhöhen, siehe jitterbit.scripting.while.max_iterations in Scripting Jitterbit-Variablen.

Case

Deklaration

typeN Case(bool b1, type1 arg1[, bool b2, type2 arg2,... bool bN, typeN argN])

Syntax

Case(<b1>, <arg1>[, <b2>, <arg2>,... <bN>, <argN>])

Erforderliche Parameter

  • b1: Ein Ausdruck, der auf sein boolesches Ergebnis ausgewertet werden soll
  • arg1: Ein Argument, das zurückgegeben wird, wenn b1 true ist

Optionale Parameter

  • b2... bN: Zusätzliche Ausdrücke, die auf Wahrheitsgehalt ausgewertet werden sollen
  • arg2... argN: Zusätzliche Argumente, die zurückgegeben werden, wenn der entsprechende Parameter true ist

Beschreibung

Diese Funktion bewertet Paare von Argumenten: Wenn die Auswertung des Ausdrucks im ersten Argument eines Paares true ist, wird die Überprüfung gestoppt und das zweite Argument mit dem erhaltenen Typ zurückgegeben. Andernfalls wird das nächste Paar überprüft, und so weiter. Wenn keines der Paare true ergibt, wird null zurückgegeben.

Um einen Standard- oder Durchfallfall zu erstellen, verwenden Sie true und den gewünschten Rückgabewert als letztes Paar. Siehe das Beispiel.

Beispiele

Dieses Beispiel gibt "Sehr teuer" zurück, wenn price 1000 oder höher ist. Das true im letzten Paar von Argumenten dient als Standard- oder Durchfallfall.

$label = Case(price < 10, "Cheap",
              price < 100, "Not Cheap",
              price < 1000, "Expensive",
              true, "Very Expensive");

Equal

Declaration

bool Equal(type1 array1, type2 array2)

bool Equal(type1 arg1, type2 arg2)

Syntax

Equal(<array1>, <array2>)

Equal(<arg1>, <arg2>)

Required parameters

  • array1, array2: (Erste Form) Zwei Arrays mit der gleichen Länge und Dimension; andernfalls gibt die Funktion false zurück

  • arg1, arg2: (Zweite Form) Zwei einfache Typen oder Ausdrücke

Description

Führt einen rekursiven Vergleich von zwei Arrays durch. Gibt true zurück, wenn alle entsprechenden Mitglieder der Arrays gleich sind, andernfalls gibt es false zurück. Es kann auch mit einfachen Typen verwendet werden und folgt den Umwandlungsregeln, um verschiedene Typen zu fördern, um sie zu vergleichen.

Der Aufruf dieser Funktion zum Vergleichen von zwei Arrays unterscheidet sich von der Verwendung des == Operators auf zwei Arrays. Die Verwendung des == Operators auf zwei Arrays gibt ein Array von Booleans zurück, das das Ergebnis eines Vergleichs jedes Array-Mitglieds enthält. Die Verwendung dieser Funktion vergleicht nacheinander jedes entsprechende Element.

Die Equal() Funktion gibt immer false zurück, wenn die beiden Array-Argumente unterschiedliche Größen haben.

Typumwandlung und -förderung werden durchgeführt, wenn die verglichenen Argumente oder Elemente unterschiedliche Typen haben.

Examples

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

Declaration

typeN If(bool condition, type1 trueResult[, type2 falseResult])

Syntax

If(<condition>, <trueResult>[, <falseResult>])

Required parameters

  • condition: Ein Ausdruck, der auf sein boolesches Ergebnis ausgewertet werden soll
  • trueResult: Ein Ausdruck, der ausgewertet wird und dessen Ergebnis zurückgegeben wird, wenn condition true ist

Optional parameters

  • falseResult: Ein Ausdruck, der ausgewertet wird und dessen Ergebnis zurückgegeben wird, wenn condition false ist

Beschreibung

Gibt trueResult zurück, wenn die Bedingung wahr ist, andernfalls wird falseResult zurückgegeben.

Wenn das erste Argument (condition) kein boolescher Datentyp ist, wird es vor der Auswertung in einen booleschen Wert umgewandelt. Wenn das optionale dritte Argument nicht angegeben ist und condition false ist, wird ein null-Wert zurückgegeben.

Beispiele

//  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

Deklaration

null While(bool condition, type expression)

Syntax

While(<condition>, <expression>)

Erforderliche Parameter

  • condition: Ein Ausdruck, der auf sein boolesches Ergebnis ausgewertet werden soll
  • expression: Ein Ausdruck, der wiederholt ausgewertet wird, solange condition true ist

Beschreibung

Führt einen Ausdruck wiederholt aus, solange eine Bedingung wahr ist.

Die Jitterbit-Variable jitterbit.scripting.while.max_iterations begrenzt die Anzahl der Iterationen. Ein Fehler wird gemeldet, wenn die maximale Anzahl an Iterationen erreicht ist.

Beispiele

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