Logische Funktionen im Jitterbit Integration Studio
Verwenden Sie die logischen Funktionen, um den Fluss von Jitterbit Scripts zu steuern.
Notiz
Für jede einzelne Schleife in Jitterbit Scripts sind maximal 50.000 Schleifeniterationen zulässig. Informationen zum Erhöhen der zulässigen Anzahl von Iterationen pro Schleife finden Sie unter jitterbit.scripting.while.max_iterations
in Skripting von Jitterbit-Variablen.
Case
Erklärung
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 für sein Boolesches Ergebnis ausgewertet werden sollarg1
: Ein Argument, das zurückgegeben werden soll, wennb1
Isttrue
Optionale Parameter
b2... bN
: Zusätzliche Ausdrücke, die auf Wahrheit geprüft werden sollenarg2... argN
: Zusätzliche Argumente, die zurückgegeben werden, wenn der passende Parametertrue
Beschreibung
Diese Funktion wertet Argumentpaare aus: Wenn die Auswertung des Ausdrucks im ersten Argument eines Paares true
, beendet es die Prüfung und gibt das zweite Argument mit dem beibehaltenen Typ zurück. Andernfalls wird das nächste Paar geprüft und so weiter. Wenn keines der Paare als true
, null
wird zurückgegeben.
Um einen Standard- oder Fall-Through-Fall zu erstellen, verwenden Sie true
und als letztes Paar den gewünschten Rückgabewert. Siehe Beispiel.
Beispiele
Dieses Beispiel gibt "Very Expensive"
Wenn price
Ist 1000
oder höher. Die true
im letzten Argumentenpaar dient als Standard- oder Fall-Through-Fall.
$label = Case(price < 10, "Cheap",
price < 100, "Not Cheap",
price < 1000, "Expensive",
true, "Very Expensive");
Equal
Erklärung
bool Equal(type1 array1, type2 array2)
bool Equal(type1 arg1, type2 arg2)
Syntax
Equal(<array1>, <array2>)
Equal(<arg1>, <arg2>)
Erforderliche Parameter
-
array1, array2
: (Erste Form) Zwei Arrays gleicher Länge und Dimension; wenn nicht, gibt die Funktion zurückfalse
-
arg1, arg2
: (Zweite Form) Zwei einfache Typen oder Ausdrücke
Beschreibung
Führt einen rekursiven Vergleich zweier Arrays durch. Gibt zurück true
wenn alle entsprechenden Mitglieder des Arrays gleich sind, andernfalls wird zurückgegeben false
. Es kann auch mit einfachen Typen verwendet werden und befolgt Konvertierungsregeln, um verschiedene Typen zu fördern, um sie zu vergleichen.
Der Aufruf dieser Funktion zum Vergleichen von zwei Arrays unterscheidet sich von der Verwendung der ==
Operator auf zwei Arrays. Mit dem ==
Operator für zwei Arrays gibt ein Array von Booleschen Werten zurück, das das Ergebnis eines Vergleichs jedes Array-Elements enthält. Mit dieser Funktion werden nacheinander alle entsprechenden Elemente verglichen.
Der Equal()
Die Funktion gibt immer „false“ zurück, wenn die beiden Array-Argumente unterschiedliche Größen haben.
Eine Typkonvertierung und -heraufstufung wird durchgeführt, wenn die verglichenen Argumente oder Elemente unterschiedliche Typen haben.
Beispiele
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
Erklärung
typeN If(bool condition, type1 trueResult[, type2 falseResult])
Syntax
If(<condition>, <trueResult>[, <falseResult>])
Erforderliche Parameter
condition
: Ein Ausdruck, der für sein Boolesches Ergebnis ausgewertet werden solltrueResult
: Ein auszuwertender Ausdruck und sein Ergebnis wird zurückgegeben, wenncondition
Isttrue
Optionale Parameter
falseResult
: Ein auszuwertender Ausdruck und sein Ergebnis wird zurückgegeben, wenncondition
Istfalse
Beschreibung
Rücksendungen trueResult
wenn die Bedingung erfüllt ist, andernfalls wird zurückgegeben falseResult
.
Wenn das erste Argument (condition
) kein Boolescher Datentyp ist, wird er vor der Auswertung in einen Booleschen Datentyp umgewandelt. Wenn das optionale dritte Argument nicht angegeben ist und condition
Ist false
, A null
Wert wird 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
Erklärung
null While(bool condition, type expression)
Syntax
While(<condition>, <expression>)
Erforderliche Parameter
condition
: Ein Ausdruck, der für sein Boolesches Ergebnis ausgewertet werden sollexpression
: Ein Ausdruck, der wiederholt ausgewertet werden soll, solangecondition
Isttrue
Beschreibung
Führt einen Ausdruck wiederholt aus, solange eine Bedingung erfüllt ist.
Die Jitterbit-Variable jitterbit.scripting.while.max_iterations
begrenzt die Anzahl der Iterationen. Wenn die maximale Anzahl an Iterationen erreicht ist, wird ein Fehler gemeldet.
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++;
);