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 sollarg1: Ein Argument, das zurückgegeben wird, wennb1trueist
Optionale Parameter
b2... bN: Zusätzliche Ausdrücke, die auf Wahrheitsgehalt ausgewertet werden sollenarg2... argN: Zusätzliche Argumente, die zurückgegeben werden, wenn der entsprechende Parametertrueist
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 Funktionfalsezurü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 solltrueResult: Ein Ausdruck, der ausgewertet wird und dessen Ergebnis zurückgegeben wird, wennconditiontrueist
Optional parameters
falseResult: Ein Ausdruck, der ausgewertet wird und dessen Ergebnis zurückgegeben wird, wennconditionfalseist
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 sollexpression: Ein Ausdruck, der wiederholt ausgewertet wird, solangeconditiontrueist
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++;
);