Bedingte Anweisung (if, then, else) conditional-instruction
Die bedingte Anweisung (if, then, else) wird im erweiterten Editor unterstützt. Sie ermöglicht die Definition komplexerer Ausdrücke. Sie umfasst die folgenden Elemente:
- if: die Bedingung, die zuerst ausgewertet werden soll.
- then: der auszuwertende Ausdruck, falls das Ergebnis der Auswertung der Bedingung wahr ist.
- else: der auszuwertende Ausdruck, falls das Ergebnis der Auswertung der Bedingung falsch ist.
if (<expression1>)
then
(<expression2>)
else
(<expression3>)
<expression1> muss einen booleschen Wert (boolean) zurückgeben.
<expression2> und <expression3> müssen denselben Typ oder kompatible Typen aufweisen. Folgende Signaturen und zurückgegebene Typen werden unterstützt:
boolean,boolean : boolean
dateTime,dateTime : dateTime
dateTimeOnly,dateTimeOnly : dateTimeOnly
decimal,integer : decimal
integer,decimal : integer
integer,decimal : decimal
duration,duration : duration
string,string : string
listBoolean,listBoolean : listBoolean
listDateTime,listDateTime : listDateTime
listDateTimeOnly,listDateTimeOnly : listDateTimeOnly
listDateOnly,listDateOnly : listDateOnly
listDecimal,listDecimal : listDecimal
listInteger,listInteger : listInteger
listString,listString : listString
Verwendung
Mit der bedingten Anweisung können Sie den Workflow der Journey optimieren, indem Sie die Anzahl der Bedingungsaktivitäten reduzieren. Beispielsweise können Sie innerhalb derselben Aktionsaktivität zwei Alternativen für eine Felddefinition angeben, wobei nur ein Bedingungsausdruck verwendet wird.
Beispiel für eine Aktionsaktivität (für ein Feld, das eine Zeichenfolge als Ergebnis der bedingten Anweisung erwartet):
if (startWithIgnoreCase(@event{eventiOSPushPermissionAllowed.device.model}, 'iPad') or startWithIgnoreCase(@event{eventiOSPushPermissionAllowed.device.model}, 'iOS'))
then
('apns')
else
('fcm')
Dieser Abschnitt enthält strukturiertes Wissen zur Unterstützung von Interpretation, Abrufen und Antworten auf Fragen zu diesem Thema.
Zum vollständigen Verständnis sollten diese Informationen mit der Dokumentation auf dieser Seite kombiniert werden. Keine der beiden Quellen ist für Einzelpersonen gedacht. Die Seite beschreibt die Funktion, während dieser Abschnitt zusätzlichen Kontext bietet, der dabei hilft, Begriffe, Absichten, Anwendbarkeit und Begrenzungen zu unterscheiden.
- TL;DR: Auf dieser Seite werden die
if / then / elseBedingungsanweisungen erläutert, die im erweiterten Ausdruckseditor von Journey verfügbar sind, einschließlich Syntaxregeln, unterstützter Typkombinationen und eines praktischen Anwendungsbeispiels.
intents:
- Schreiben Sie einen bedingten Ausdruck mit
if,thenundelse, um auf der Grundlage einer booleschen Bedingung verschiedene Werte zurückzugeben - Verringern Sie die Anzahl der Bedingungsaktivitäten in einem Journey durch Einbetten einer Bedingungslogik in eine einzelne Aktionsaktivität
- Bestimmen, welche Datentypkombinationen für die
thenundelseVerzweigungen gültig sind - Wenden Sie die bedingte Anweisung an, um Push-Benachrichtigungs-Token je nach Gerätemodell entweder an APNS oder an FCM zu leiten
Glossar:
- Bedingte Anweisung: Ein
if / then / elseAusdruckskonstrukt im erweiterten Editor, das einen booleschen Wert auswertet und einen von zwei Ausdrücken zurückgibt (produktspezifisch) - Erweiterter Ausdruckseditor: Die Journey Optimizer-Oberfläche zum Schreiben komplexer Ausdrücke, die in Bedingungen, Warteaktivitäten und der Zuordnung von Aktionsparametern verwendet werden (produktspezifisch)
Leitplanken:
- Um alle Ausdrücke in den
if-,then- undelsesind Klammern erforderlich - Die
if(<expression1>) muss einen booleschen Typ zurückgeben - Die
then- undelse-Ausdrücke (<expression2>und<expression3>) müssen vom gleichen Typ oder von kompatiblen Typen sein (z. B. sinddecimalundintegerkompatibel,stringundintegernicht) - Nicht alle Typkombinationen werden unterstützt - nur die in der Tabelle Unterstützte Signaturen aufgeführten Paare sind gültig
Terminologie:
- Kanonische Bezeichnung: Bedingte Anweisung — Akronym: none — Varianten: if/then/else, ternäre Bedingung
- Synonyme: „Bedingte Anweisung“ = „Inline-Bedingung“ = „if-then-else Ausdruck“
- Nicht verwechseln: Bedingte Anweisung (Inline-Ausdruck) ≠ Bedingungsaktivität (ein Journey-Arbeitsflächenknoten)
FAQ:
- F: Muss die
if-Klausel in Klammern eingeschlossen werden? — Ja, um alle Ausdrücke einschließlich der Bedingung in derif-Klausel sind Klammern erforderlich. - F: Kann ich
if / then / elseverwenden, um eine Zahl aus einer Verzweigung und eine Zeichenfolge aus einer anderen Verzweigung zurückzugeben? — Nein;<expression2>und<expression3>müssen dieselben oder kompatible Typen aufweisen. - F: Wie reduziert die bedingte Anweisung die Komplexität des Journey? - Damit können Sie zwei Feldwertalternativen innerhalb einer einzelnen Aktionsaktivität mit einem Ausdruck angeben, wobei ein separater Aktivitätsknoten für Bedingungen auf der Arbeitsfläche vermieden wird.
- F: Welchen Typ gibt die bedingte Anweisung zurück, wenn beide Verzweigungen Zeichenfolgen sind? — Gibt einen
stringzurück. - F: Kann
if / then / elseverwendet werden, um einen Push-Benachrichtigungskanal auszuwählen? — Ja. Beispielsweise kann das Gerätemodell evaluiert werden, um'apns'für Apple-Geräte oder'fcm'für andere zurückzugeben.