Switch / Case
Leitet den Anruf anhand des Werts einer Variable weiter. Jeder deklarierte Fall erzeugt seinen eigenen Ausgang, per exakter Übereinstimmung oder per Muster, und Standard fängt den Rest auf.
Kurzübersicht
| Ausgänge | einer pro deklariertem Fall, plus Standard |
| Beschriftung eines Ausgangs | der Wert des Falls, dem bei aktiviertem Regex ein ~ vorangestellt wird |
| Felder | Zu prüfender Ausdruck, dann eine Tabelle Wert des Falls mit einem Kästchen Regex |
| Standardvergleich | exakte Übereinstimmung, Groß-/Kleinschreibung und Leerzeichen eingeschlossen |
| Anzahl der Fälle | unbegrenzt |
| Reihenfolge | der erste passende Fall gewinnt; die folgenden werden nicht ausgewertet |
Der im Fenster angezeigte Hilfetext lautet: „Jeder Fall erzeugt einen Ausgang; ‚Standard' wird genommen, wenn kein Fall passt. Kreuzen Sie ‚Regex' an, um den Wert als regulären Ausdruck zu behandeln (z. B. ^\+251, ^0[1-9][0-9]{7}$). Andernfalls exakte Übereinstimmung."
So funktioniert es
Das Modul berechnet zunächst den zu prüfenden Ausdruck, im Allgemeinen eine Variable, geschrieben als {{meine_variable}}. Es erhält dadurch einen Text, den die Variable zum Zeitpunkt des Durchlaufs des Anrufs trägt.
Es durchläuft dann Ihre Fälle von oben nach unten und hält beim ersten passenden an. Passt keiner, nimmt es Standard.
Exakte Übereinstimmung
Ohne das Kästchen Regex passt ein Fall, wenn der Wert streng identisch ist: Premium und premium sind zwei unterschiedliche Werte, und ein überzähliges Leerzeichen genügt, um den Vergleich scheitern zu lassen.
Muster, oder regulärer Ausdruck
Ein regulärer Ausdruck ist eine Formbeschreibung statt eines Werts. Statt die Tausende von Nummern aufzulisten, die mit 02 beginnen, beschreiben Sie „beginnt mit 02, dann Ziffern".
Ein paar Zeichen decken fast alle Bedürfnisse ab:
| Schreibweise | Was sie bedeutet |
|---|---|
^ | der Anfang des Werts |
$ | das Ende des Werts |
\d | eine Ziffer |
[0-9] | eine Ziffer, andere Schreibweise |
[1-9] | eine Ziffer von 1 bis 9 |
+ | das vorangehende Zeichen, ein- oder mehrmals |
* | das vorangehende Zeichen, null- oder mehrmals |
{7} | das vorangehende Zeichen, genau siebenmal |
Die beiden Beispiele der Oberfläche lesen sich so: ^\+251 passt auf jeden Wert, der mit +251 beginnt, und ^0[1-9][0-9]{7}$ auf einen neunstelligen Wert, der mit einer Null gefolgt von einer Ziffer von 1 bis 9 beginnt.
Schreiben Sie das Muster allein, ohne es mit Schrägstrichen einzurahmen. ^02 ist korrekt, /^02/ passt auf nichts.
Was einzugeben ist
| Feld | Was erwartet wird | Wenn Sie es leer lassen |
|---|---|---|
| Zu prüfender Ausdruck | eine Variable, zum Beispiel {{sprache}}, oder ein Text, der eine enthält | der geprüfte Wert ist leer, und nur ein leerer Fall oder Standard kann genommen werden |
| Wert des Falls | der erwartete Wert, oder das Muster bei aktiviertem Regex | ohne Regex passt der Fall nur zu einem selbst leeren Wert; mit Regex passt er auf alles und fängt jeden Anruf |
| Regex | aktiviert, der Wert wird zu einem Muster | Vergleich per exakter Übereinstimmung |
Die Schaltfläche Hinzufügen erstellt eine Fallzeile, Löschen entfernt die der Zeile. Speichern schließt das Fenster, und die Ausgänge des Moduls werden sofort neu beschriftet.
Schritt für Schritt
- Setzen Sie das Modul Switch / Case und verbinden Sie den vorherigen Knoten mit seinem Eingang.
- Öffnen Sie es und füllen Sie den Zu prüfenden Ausdruck aus, indem Sie die Variable aus dem Panel Verfügbare Variablen kopieren, statt sie neu einzutippen.
- Klicken Sie auf Hinzufügen und geben Sie den Wert des Falls ein. Wiederholen Sie dies für jeden Wert, den Sie unterscheiden möchten.
- Kreuzen Sie Regex nur auf den Zeilen an, auf denen Sie eine Form beschreiben, und keinen genauen Wert.
- Ordnen Sie Ihre Fälle vom spezifischsten zum allgemeinsten: der erste passende gewinnt.
- Klicken Sie auf Speichern. Das Modul zeigt jetzt einen Ausgang pro Fall an, plus Standard.
- Verbinden Sie jeden Ausgang mit seinem Ziel, Standard eingeschlossen: ein genommener Ausgang, der nirgendwohin führt, legt den Anruf auf.
- Setzen Sie unmittelbar davor ein Modul Debugging mit der geprüften Variable als Nachricht. Sie lesen dann den tatsächlich verglichenen Wert.
- Klicken Sie auf Speichern, dann auf Änderungen übernehmen im oberen Banner.
- Rufen Sie Ihre Nummer an und lösen Sie dabei jeden der Fälle aus, und prüfen Sie, dass der Anruf tatsächlich dorthin geht, wo Sie ihn erwarten.
Wenn es nicht funktioniert
Alle Anrufe landen bei Standard. Lesen Sie zunächst den tatsächlich geprüften Wert, mit einem unmittelbar davor gesetzten Debugging. Neunmal von zehn ist er leer, weil das die Variable setzende Modul nicht durchlaufen wurde, oder weil der zwischen den Klammern geschriebene Name nicht übereinstimmt.
Mein Wert ist korrekt, aber der Fall wird nicht genommen. Der Vergleich ist exakt: Premium ist nicht premium, und ein Leerzeichen am Ende des Werts zählt. Kreuzen Sie Regex an und beschreiben Sie die Form, zum Beispiel ^[Pp]remium$.
Mein Muster passt nie. Schreiben Sie es ohne umrahmende Schrägstriche: ^02\d+ und nicht /^02\d+/. Prüfen Sie dann, dass ein fehlerhaftes Muster nicht unbemerkt bleibt: es passt nie und zeigt keinen Fehler an.
Es gewinnt immer derselbe Fall, obwohl zwei passen könnten. Das ist das erwartete Verhalten. Setzen Sie den spezifischeren Fall über den allgemeineren, oder schränken Sie das Muster des allgemeineren ein.
Der Anruf wird unterbrochen, obwohl ein Fall wirklich passt. Der Ausgang dieses Falls ist mit nichts verbunden. Prüfen Sie jeden Ausgang des Moduls, Standard eingeschlossen, nach dem Hinzufügen oder Löschen eines Falls: die Ausgänge werden neu nummeriert.
Wie der Anrufplan aufgebaut wird, in Bildern erklärt
Zur Seite Rufpläne