±if/else
Ermöglicht Bedingungen für die Arbeit an CSV Datenfeldern
Beschreibung
Dieser Befehl formuliert eine Bedingung, ob nachfolgend verkettete Befehle ausgeführt werden sollen oder nicht.Er kann nur für Datenfeldbefehle verwendet werden, d.h. nur für ±set, ±replace, ±remove, ±clear, ±trim und ±regex.
Jeder andere nachfolgende Befehl führt zu einem Fehler.
Die Bedingung besteht aus einem linken Operanden, einem Vergleichsoperator und (meistens) einem rechten Operanden.
Jeder Operand kann ein einzelnes [Feld] oder ein {Ausdruck} sein.
Bei numerischen Vergleichsoperationen müssen die Operanden in runden Klammern ([Feld]) oder (Ausdruck) eingeschlossen sein.
Vor dem Vergleich werden jeder Ausdruck und jeder Feldwert für jede Zeile aufgelöst, siehe Ausdrücke und ihre Auflösung. Der Vergleich wird dann mit den aufgelösten Werten durchgeführt.
Die Bedingung und der Befehl werden durch ein doppeltes Trennzeichen getrennt (das Standardtrennzeichen ist "/"). Fügen Sie das Eingabe-/Ausgabepräfix ("+" oder "-") nicht erneut ein.
Alle Einzelheiten zu den verfügbaren Bedingungen finden Sie auch unter Bedingungen für Filterung und Befehle.
Muster
Eine Bedingung und ein bedingter Befehl sehen wie folgt aus:
±if{Operand}Operator{Operand}//(Field Command)
Es kann auch einen "else" Fall geben, der bedeutet, dass die nachfolgenden Befehle ausgeführt werden, wenn die Bedingung nicht zutrifft.
Wenn es einen "else" Befehl gibt, muss dieser ebenfalls durch ein doppeltes Trennzeichen davor und danach getrennt werden.
±if{Operand}Operator{Operand}//(Field Command)//else//(Other Field Command)
Beispiele für die Verwendung
- -if[Merkmale]<#>{Leder}//set[Preis]=([Preis]+500)
- Wenn das Feld "Merkmale" (vielleicht die Merkmalsliste eines Autos) die Zeichenfolge "Leder" enthält, wird das Feld "Preis" um 500 erhöht.
- -if([Standorte])>(3)//set[GroßesUnternehmen]=Ja///else//set[GroßesUnternehmen]=Nein
- Wenn das Feld "Standorte" (vielleicht die Anzahl der Niederlassungen) eine Zahl enthält, die größer als 3 ist, dann wird das Feld "BigCompany" auf "Ja" gesetzt, andernfalls auf "Nein".
Für den Fall, dass Sie mehr brauchen!
Sie können mehr als eine Bedingung und auch mehr als einen Befehl miteinander verknüpfen.
In diesem Fall muss jede Bedingung oder jeder Befehl wieder durch ein doppeltes Trennzeichen an beiden Enden getrennt werden. Achten Sie bei der Verkettung von Bedingungen und/oder Befehlen darauf, dass um die doppelten Begrenzungszeichen keine Leerzeichen stehen.
±if{Operand1}Operator1{Operand1}//if {Operand2}Operator2{Operand2}//(Field Command)
±if{Operand}Operator{Operand}//(Field Command1)//(Field Command2)//else//(Other Field Command1)//(Other Field Command2)