Zum Hauptinhalt springen
Version: 0.24.0

Werte, Variablen und Ausdrücke

Fast jede Aktion hat ein Feld, in das Sie einen Wert eingeben – Meldungen der Aktion Benachrichtigung, Variable erstellen, Bedingungen, Schleifen, Parameter von Aktionen. In dieses eine Feld können Sie reinen Text schreiben, Variablen einfügen oder einen Wert berechnen lassen. Diese Seite behandelt sowohl die alltäglichen als auch die fortgeschrittenen Fälle.

Zwei Regeln, mit denen Sie fast alles abdecken​

  1. Was Sie eingeben, ist Text. Anführungszeichen sind nicht nötig – Good morning ist einfach der Text Good morning.
  2. Eine Variable wird mit $ gekennzeichnet. Geben Sie $ ein, und die automatische Vervollständigung öffnet sich mit der Liste der Variablen. Ohne $ wird der Name als gewöhnliches Wort behandelt.

Die folgenden Beispiele gehen von diesen Variablen aus:

VariableWertTyp
$nameJan NovákText
$amount1250.5Zahl
$count3Zahl
$invoice_no2024001Zahl
$date01.02.2024Text
$text' Invoice 2024 'Text mit Leerzeichen
$items['apples', 'pears', 'plums']Liste
$record{'id': 7, 'state': 'OK'}Wörterbuch
$note''leerer Text

Alltägliche Verwendung​

Text mit Variablen​

Der häufigste Fall. Schreiben Sie einen Satz und setzen Sie $ überall dort, wo ein Wert eingesetzt werden soll. Keine Anführungszeichen, keine Pluszeichen.

Sie geben einErgebnis
Record $name cannot be processedRecord Jan Novák cannot be processed
Good morning $name, thank you for your order.Good morning Jan Novák, thank you for your order.
Error (code $invoice_no): processing failed.Error (code 2024001): processing failed.

Punkte, Kommas, Doppelpunkte, Klammern, Bindestriche und Prozentzeichen sind gewöhnliche Satzzeichen – Sie können sie frei verwenden. Leerzeichen bleiben genau so erhalten, wie Sie sie schreiben, auch nach einer Variablen.

Zahlen im Text​

Zahlen lassen sich uneingeschränkt mit Text kombinieren, ob direkt eingegeben oder aus einer Variablen. Alles wird automatisch in Text umgewandelt.

Sie geben einErgebnis
Invoice number $invoice_no has been paidInvoice number 2024001 has been paid
We have $count items for $amount CZK.We have 3 items for 1250.5 CZK.
hinweis

In früheren Versionen führte diese Kombination aus Text und Zahl zu einem Fehler. Jetzt funktioniert sie.

Ein einzelner Wert behält seinen Typ​

Enthält das Feld nur einen einzigen Wert, erhalten Sie genau diesen – Text bleibt Text, eine Zahl bleibt eine Zahl, und eine Variable behält ihren eigenen Typ.

Sie geben einErgebnis
$nameJan Novák – der Wert mit seinem Typ
approvedapproved – Text
4242 – Zahl
"42"42 – Text, keine Zahl

Setzen Sie eine Ziffer in Anführungszeichen, wenn Sie sie als Text benötigen. Die Anführungszeichen bleiben im Feld erhalten.

Rechnen​

Mit Zahlen können Sie rechnen. Setzen Sie Leerzeichen um den Operator oder verwenden Sie Klammern – daran erkennt der Editor, dass es sich um eine Berechnung und nicht um Text handelt.

Sie geben einErgebnis
$amount * 1.211513.105
$invoice_no + 12024002
($amount + 100) / 2675.25
20240201-00120240201-001 – Text, keine Subtraktion
tipp

Ohne Leerzeichen um den Operator wird der Wert als Text behandelt, sodass Belegnummern und Zahlungsreferenzen unverändert bleiben.


Die automatische Vervollständigung​

  • Geben Sie $ ein, und die Liste der Variablen öffnet sich; wählen Sie eine aus, und der vollständige Name wird eingefügt.
  • Das Wort vor $ bleibt erhalten – wenn Sie Good morning und danach $ eingeben, wird es nicht überschrieben.
  • Sie möchten ein Leerzeichen? Geben Sie es selbst ein: Good morning $name.
  • Die Registerkarten oben enthalten mehr als nur Variablen: Variablen, Operatoren, Konstanten, Allgemein, Mathematik, Text und Datum & Uhrzeit. Der ausgewählte Eintrag wird zusammen mit einem Beispiel seiner Syntax eingefügt.
  • Die farbliche Hervorhebung markiert Variablen im Feld, sodass Sie auf einen Blick sehen, was ersetzt wird und was reiner Text ist.
  • Die Vorschau unter dem Feld zeigt das Ergebnis. Grün bedeutet, dass alles in Ordnung ist; Rot bedeutet einen Fehler – meist einen Tippfehler im Variablennamen.
  • Enthält eine Variable eine feste Menge von Werten – zum Beispiel Koordinaten –, bietet das Popup jede Position direkt an: $coords[0], $coords[1], … Die Klammern müssen Sie nicht mehr selbst eingeben.
  • Wählen Sie einen Vorschlag mitten im Wort aus, ersetzt er das, was Sie bereits begonnen hatten, statt es zu verdoppeln – so entsteht kein fehlerhafter Ausdruck wie $co$coords mehr.

Speichern und erneut öffnen​

Der Wert wird so gespeichert, dass er sich immer gleich verhält. Wenn Sie die Aktion erneut öffnen, sehen Sie ihn wieder in lesbarer Form und nicht in einer technischen Schreibweise:

Sie geben einNach dem erneuten Öffnen
Record $name cannot be processedRecord $name cannot be processed

Auch ältere Szenarien werden korrekt geöffnet. Selbst wenn ein Wert noch auf die alte Art geschrieben wurde – mit Anführungszeichen und Pluszeichen –, wird er in der neuen lesbaren Form angezeigt und verhält sich wie zuvor.

Häufige Fehler​

Sie geben einErgebnisLösung
namename – ein gewöhnliches Wort, nicht der WertDas $ fehlt. Verwenden Sie $name.
Good morning$nameGood morningJan NovákVor $ fehlt ein Leerzeichen: Good morning $name.
$naamerote Vorschau – die Variable existiert nichtTippfehler. Wählen Sie die Variable in der automatischen Vervollständigung aus.

Fortgeschrittene Ausdrücke​

Das Feld akzeptiert auch Berechnungen, Textbearbeitung, Datumsverarbeitung und Bedingungen. Die Schreibweise ist Python; Variablen werden weiterhin mit $ gekennzeichnet.

Zugriff auf Daten​

Enthält eine Variable eine Liste oder ein Wörterbuch, greifen Sie mit eckigen Klammern auf den Inhalt zu. Sobald Sie [ eingeben, bietet die automatische Vervollständigung die Schlüssel oder Positionen direkt an.

Sie geben einErgebnis
$items[0]apples – erstes Element, gezählt ab null
$items[-1]plums – letztes Element
$record['state']OK – Wert anhand des Schlüssels
$record['id']7
$name[0:3]Jan – die ersten drei Zeichen

Mit derselben Schreibweise schneiden Sie einen Teil einer Liste aus.

Arbeiten mit Text​

Schreiben Sie nach der Variablen einen Punkt und den Namen einer Operation:

Sie geben einErgebnis
$name.upper()JAN NOVÁK
$text.strip()Invoice 2024 – entfernt Leerzeichen am Anfang und am Ende
$name.replace('Novák', 'Nový')Jan Nový
$date.split('.')['01', '02', '2024']
", ".join($items)apples, pears, plums
$text.strip().lower()invoice 2024 – Operationen lassen sich verketten

Funktionen​

Die Registerkarten Allgemein und Mathematik der automatischen Vervollständigung listen auf, was verfügbar ist, jeweils mit Beschreibung und Beispiel.

Sie geben einErgebnis
len($items)3 – Anzahl der Elemente
len($name)9 – Anzahl der Zeichen
int($amount)1250
str($count)3 – als Text
round($amount)1250.0
max($count, 10)10 – der größere der beiden Werte; min entsprechend
sum([1, 2, 3])6
abs(-5)5

Listen, Wörterbücher und Tupel​

Nützlich, wenn Sie mehrere Werte auf einmal übergeben müssen – in ein Formular oder an eine andere Aktion.

Sie geben einErgebnis
[$name, $count]['Jan Novák', 3] – Liste
{id:$count, name:$name}{'id': 3, 'name': 'Jan Novák'} – Wörterbuch
($count, $amount)(3, 1250.5) – Tupel

Schlüsselnamen brauchen keine Anführungszeichen. Nach dem erneuten Öffnen sehen Sie sie in Anführungszeichen – {'id':$count, …} –, was dasselbe ist.

warnung

Beachten Sie den Unterschied: $count, $amount ohne weiteren Inhalt ist ein Tupel, während We have $count for $amount CZK Text ist.

Datum und Uhrzeit​

Ein als Text gespeichertes Datum muss zuerst mit datetime_parse eingelesen und dann mit datetime_format ausgegeben werden.

Sie geben einErgebnis
datetime_parse($date, '%d.%m.%Y')das aus dem Text gelesene Datum
datetime_format(datetime_parse($date, '%d.%m.%Y'), '%Y-%m-%d')2024-02-01
datetime_format(datetime.datetime.now(), '%d.%m.%Y')das heutige Datum
datetime_format(datetime_add(datetime.datetime.now(), days=7), '%d.%m.%Y')das Datum in einer Woche
HilfsfunktionWas sie erwartet
datetime_parse(text, format, tz=None)Liest ein Datum aus Text.
datetime_format(date, format)Gibt ein Datum als Text aus.
datetime_add(date, …)Verschiebt ein Datum um days, hours, minutes, seconds, microseconds, months oder years.
datetime_set(date, …)Setzt einen bestimmten Teil – day, month, year, hour, minute, second, microsecond.

Formatcodes: %d Tag, %m Monat, %Y vierstelliges Jahr, %H Stunde, %M Minute.

Konstanten und Systemwerte​

Die Registerkarte Konstanten enthält vorbereitete Werte; wenn Sie einen auswählen, wird der gesamte Ausdruck eingefügt.

Sie geben einErgebnis
datetime.datetime.now()aktuelles Datum und aktuelle Uhrzeit
int(datetime.datetime.now().timestamp())Sekunden seit der Epoche, z. B. 1785841813
random.randint(1, 100)eine Zufallszahl
$CONSTANTS['FULL_DATE']eine szenarioweite Konstante – siehe die vollständige Liste

Module​

Fünf Module stehen zur Verfügung: re, math, random, datetime und aiviro.

Sie geben einErgebnis
re.sub('[0-9]', '', $text)' Invoice ' – entfernt alle Ziffern
math.ceil($amount)1251 – rundet auf
random.randint(1, 100)eine Zufallszahl von 1 bis 100

Zahlensysteme​

Sie geben einErgebnis
bin($count)0b11
hex($count)0x3
oct($count)0o3
int("1100", 2)12 – aus binärem Text zurück in eine Zahl

Operatoren​

Alle unten aufgeführten Operatoren finden Sie mit Beschreibung auch auf der Registerkarte Operatoren der automatischen Vervollständigung.

Arithmetik​

Sie geben einErgebnisBedeutung
$amount + $count1253.5addieren
$amount - $count1247.5subtrahieren
$amount * $count3751.5multiplizieren
$amount / $count416.833…dividieren – das Ergebnis ist eine Dezimalzahl
$amount // $count416.0ganzzahlige Division
$amount % $count2.5Rest – praktisch zur Prüfung auf gerade/ungerade
$count ** 29Potenz

Verbinden und Wiederholen​

+ und * funktionieren auch mit Text und Listen – dort verbinden bzw. wiederholen sie, statt zu addieren.

Sie geben einErgebnis
$items + ["berries"]['apples', 'pears', 'plums', 'berries']
"-" * 20-------------------- – eine Trennlinie

Sie brauchen kein +, um Text aus Variablen zusammenzusetzen – schreiben Sie einfach den Satz und kennzeichnen Sie die Variablen mit $.

Vergleich​

Wird vor allem in der Aktion Bedingung und in Schleifenaktionen verwendet, wo der Editor fragt: „Soll das ausgeführt werden?“ Die Antwort ist True oder False.

Sie geben einErgebnisBedeutung
$amount > 1000Truegrößer als; < ist kleiner als
$count <= 3Truekleiner oder gleich; >= entsprechend
$record['state'] == "OK"Truegleich – beachten Sie die zwei Gleichheitszeichen
$name != "Petr"Trueungleich

Logik​

Sie geben einErgebnisBedeutung
$amount > 1000 and $count > 1Truebeide Bedingungen müssen erfüllt sein
$amount > 5000 or $count > 1Truemindestens eine muss erfüllt sein
not $noteTrueNegation – erfüllt, wenn der Wert leer ist
$count > 1 and $count < 10Trueein Bereich

Leerer Text, null und eine leere Liste gelten als „nein“; alles, was ausgefüllt ist, gilt als „ja“.

Enthält / ist enthalten in​

Sie geben einErgebnis
"apples" in $itemsTrue
"bananas" not in $itemsTrue
"state" in $recordTrue – hat das Wörterbuch diesen Schlüssel?
"Novák" in $nameTrue – Suche nach einer Teilzeichenfolge im Text
$note is NoneFalse – leerer Text ist nicht dasselbe wie None

Zwei nützliche Tricks​

Sie geben einErgebnis
$note or "not filled in"not filled in – ein Ersatzwert, wenn die Variable leer ist
len($items) > 2True – eine Bedingung auf Grundlage des Ergebnisses einer Funktion

Einzeilige Bedingungen​

Für ein einfaches „wenn ja, dann A, sonst B“ schreiben Sie die Bedingung direkt in das Feld – typischerweise in Variable erstellen.

Sie geben einErgebnis
"VIP" if $amount > 1000 else "standard"VIP
$name if $name else "unknown customer"Jan Novák oder unknown customer, falls $name leer wäre

Eine Liste umwandeln und filtern​

Mit einer einzigen Zeile können Sie eine Liste durchlaufen und jedes Element ändern oder herausfiltern.

Sie geben einErgebnis
[i.upper() for i in $items]['APPLES', 'PEARS', 'PLUMS']
[i for i in $items if i != 'pears']['apples', 'plums']
len([i for i in $items if i != 'pears'])2

i ist nur ein Hilfsname für ein einzelnes Element – er bekommt kein $.

F-Strings​

Ein F-String ist Text, in den Werte eingesetzt werden, und wurde früher als f"text {variable}" geschrieben. Das müssen Sie nicht mehr selbst schreiben: Geben Sie den Text ein und kennzeichnen Sie Variablen mit $, und der Editor erstellt den F-String selbst.

Sie geben einErgebnis
Record $name cannot be processedRecord Jan Novák cannot be processed
f"Hello {name}"Hello Jan Novák

Von Hand geschrieben funktioniert es ebenfalls. Innerhalb der geschweiften Klammern steht jedoch kein $ – {name} ist richtig, {$name} nicht. Nach dem erneuten Öffnen sehen Sie die einfachere Form, Hello $name.

Ältere Szenarien mit F-Strings funktionieren weiterhin und werden korrekt geöffnet.


Wann Sie stattdessen Python-Code verwenden sollten​

Das Wertefeld ist für einen Wert in einer Zeile gedacht. Sobald Sie mehrere Schritte nacheinander, Schleifen, Fehlerbehandlung oder längere Logik benötigen, verwenden Sie die Aktion Python-Code – dort steht Ihnen ein vollständiger Editor zur Verfügung, und der Code bleibt lesbar.