Zum Hauptinhalt springen

Ausdrücke

LoyJoy bietet eine leistungsfähige Ausdruckssprache, mit der Sie Ausdrücke in KI-Agenten auswerten können. Die Ausdruckssprache ist eine aus Sicherheitsgründen vereinfachte Teilmenge der Jakarta Expression Language und ermöglicht es Ihnen, Prozessvariablen und Funktionen programmatisch zu lesen und zu kombinieren.

Ausdrücke können in Bedingungen, in Variablen-Wertzuweisungen und in interpolierten Texten wie Chat-Nachrichten-Blasen Willkommen ${firstname}, Alter ${customerAgeYears()} oder E-Mail-Vorlagen verwendet werden. Ausdrücke können von einfachen Ausdrücken wie gender == "male" ? "Dear Mr." : "Dear Ms." bis zu beliebig komplexen Ausdrücken wie stringContains(getParam("haystack"), "needle") reichen.

Literale​

Als Literale können Sie true, false, Ganzzahlen wie 1 oder 2, Fließkommazahlen wie 1.5 oder 3.14, Strings wie "foo" und null verwenden.

tipp

Der Dezimalpunkt von Fließkommazahlen wird als Punkt . geschrieben und nicht als Komma ,.

Arithmetische Operatoren​

Es gibt 5 arithmetische Operatoren:

  • Addition + wie 1 + 2 oder 1 + someVar
  • Subtraktion - wie 1 - 2 oder 1 - someVar
  • Multiplikation * wie 2 * 4 oder 4 * someVar
  • Division / wie 4 / 2 oder 4 / someVar
  • Rest (Modulo) % wie 8 % 3 oder 8 % someVar

Vergleichsoperatoren​

Es gibt 6 Vergleichsoperatoren:

  • Gleich == wie 1 == 1 oder 1 == someVar
  • Ungleich != wie 1 != 2 oder 1 != someVar
  • Kleiner als < wie 1 < 2 oder 2 < someVar
  • Größer als > wie 3 > 2 oder 3 > someVar
  • Kleiner oder gleich <= wie 1 <= 2 oder 2 <= someVar
  • Größer oder gleich >= wie 3 >= 2 oder 3 >= someVar

Logische Operatoren​

Es gibt 3 logische Operatoren:

  • Und && / and wie 2 > 1 && true != false oder 2 > 1 and true != false
  • Oder || / or wie 2 > 1 || true != false oder 2 > 1 or true != false
  • Nicht ! wie !someVar

Empty-Operator​

Mit dem Empty-Operator können Sie feststellen, ob ein Wert null oder leer ist, wie empty someVar. Im Beispiel gibt er true zurück, wenn die Variable someVar nicht existiert, nicht gesetzt ist, null oder ein leerer String ist, andernfalls false.

Bedingungsoperator​

Der Bedingungsoperator wertet eine Bedingung aus und gibt je nach Bedingungsergebnis einen von zwei Ergebnissen zurück, z. B. age >= 18 ? "Willkommen" : "Nicht alt genug".

Klammern​

Klammern können verwendet werden, um die Präzedenz zu ändern, z. B. a * (b + c).

Arrays​

Auf Array-Elemente kann über den Index zugegriffen werden, z. B. someArray[0] oder someArray[someIndex]. Der erste Array-Index ist 0. Der letzte Array-Index ist Array-Länge minus 1.

Objekte​

Auf Objekteigenschaften kann mit . zugegriffen werden, z. B. someObject.someProperty, oder mit [], z. B. someObject["someProperty"]. Der Index kann ein Ausdruck sein, z. B. someObject[someVar]. Typische Anwendungsfälle für den Zugriff auf Objekteigenschaften sind der Zugriff auf Eigenschaften von JSON-Objekten, die von APIs abgerufen wurden.

Funktionen​

LoyJoy bietet eine wachsende Liste von Funktionen, die aus Ausdrücken aufgerufen werden können, z. B. customerAgeYears() >= 18 oder isoLocalDate().

Variablen​

Sie können Variablen in Ausdrücken verwenden, wenn sie zuvor im Prozess erzeugt wurden, z. B. cheesePreference == "strong".

Typkonvertierung​

In LoyJoy sind alle Variablen Texte (Typ String). Wenn Sie Variablen als Zahlen oder Booleans verwenden möchten, kann daher eine Typkonvertierung notwendig sein. LoyJoy bietet für die Typkonvertierung mehrere Funktionen:

  • Konvertierung zu Ganzzahlen mit toBigInteger, toLong, toInteger, toShort, toByte wie toBigInteger("2") oder toBigInteger(someVar). BigInteger kann größere Ganzzahlen verarbeiten als Long. Long kann größere Ganzzahlen verarbeiten als Integer, Short oder Byte. In den meisten Fällen wird BigInteger empfohlen.
  • Konvertierung zu Fließkommazahlen mit toBigDecimal, toDouble, toFloat wie toBigDecimal("2.5") oder toBigDecimal(someVar). BigDecimal kann größere Fließkommazahlen verarbeiten als Double. Double kann größere Fließkommazahlen verarbeiten als Float. In den meisten Fällen wird BigDecimal empfohlen.
  • Konvertierung zu Boolean mit toBoolean wie toBoolean("true") oder toBoolean(someVar).