Zum Hauptinhalt springen

Operatoren

Einführung

Die Wave-Sprache bietet eine Vielzahl von Operatoren, um Berechnungen zwischen Variablen, logische Entscheidungen, Vergleiche und Bit-Operationen durchzuführen.

In diesem Dokument werden die wichtigsten in Wave verfügbaren Operatoren kategorisiert erklärt und für jede Kategorie die Funktionsweise und Beispiele gegeben.

Operatoren werden in folgende Kategorien unterteilt:

  • Arithmetische Operatoren
  • Vergleichsoperatoren
  • Logische Operatoren
  • Bit-Operatoren
  • Zuweisungsoperatoren
  • Andere spezielle Operatoren

Arithmetische Operatoren

Arithmetische Operatoren führen grundlegende mathematische Operationen auf numerischen Daten durch.

OperatorBeschreibungBeispiel (a = 10, b = 3)
+Additiona + b13
-Subtraktiona - b7
*Multiplikationa * b30
/Divisiona / b3 (Ganzzahldivision)
%Modulo-Operationa % b1

Vergleichsoperatoren

Vergleichsoperatoren geben einen bool-Wert zurück, indem sie zwei Werte vergleichen.

OperatorBeschreibungBeispiel (a = 10, b = 3)
==gleicha == bfalse
!=ungleicha != btrue
<kleinera < bfalse
>größera > btrue
<=kleiner oder gleicha <= 10true
>=größer oder gleicha >= btrue

Logische Operatoren

Logische Operatoren verarbeiten Kombinationen von Wahrheitswerten (bool).

OperatorNameBeschreibungBeispiel
&&Logisches UNDNur wenn beide Werte true sind, ist das Ergebnis true.true && falsefalse
\`\Logisches ODERWenn einer der beiden Werte true ist, ist das Ergebnis true.\`true \
!Logisches NICHTKehrt true zu false und false zu true um.!truefalse

Bit-Operatoren

Bit-Operatoren manipulieren Integer-Daten auf Bit-Ebene.

OperatorNameBeschreibungBeispiel
&Bitweises UNDErgibt 1, wenn beide Bits 1 sind.a & b2
\`\Bitweises ODERErgibt 1, wenn mindestens eines der beiden Bits 1 ist.b7\`
^Bitweises XORErgibt 1, wenn die beiden Bits unterschiedlich sind.a ^ b5
~Bitweises NICHTUmkehrung der Bits~a-7
<<LinksshiftBits nach links verschiebena << 112
>>RechtsshiftBits nach rechts verschiebena >> 13

Zuweisungsoperatoren

Verwendung zum Speichern eines Werts in einer Variablen. Kann in den meisten Fällen mit arithmetischen Operatoren kombiniert werden, um es abzukürzen.

OperatorBeschreibungBeispiel (a = 5)
=Standardzuweisunga = 10
+=Addition und Zuweisunga += 27
-=Subtraktion und Zuweisunga -= 14
*=Multiplikation und Zuweisunga *= 315
/=Division und Zuweisunga /= 51
%=Modulo und Zuweisunga %= 41

Andere spezielle Operatoren

Wave bietet auch einzigartige oder spezielle Operatoren wie die folgenden an.

OperatorNameBeschreibungBeispiel
??Null-Koaleszenz-OperatorVerwendet den rechten Wert, wenn der linke null ista ?? bWenn a null ist, dann b
?:Bedingungsoperator (Ternärer Operator)Wählt Wert basierend auf BedingungBedingung ? Wahrheitswert : Falschheitswert
inÜberprüft, ob enthaltenÜberprüft, ob der Wert in der Sammlung enthalten ist"a" in Liste
isTypvergleichsoperatorÜberprüft den Typ des Wertesx ist i32
!&NANDLogische NAND-OperationFortgeschrittene logische Operationen
\`!\NORLogische NOR-OperationFortgeschrittene logische Operationen
~^XNORLogische XNOR-OperationFortgeschrittene logische Operationen

Zusammenfassung

Wave bietet eine Vielzahl von Operatoren, die von mathematischen Berechnungen bis hin zu logischen Entscheidungen, Bit-Manipulationen und bedingten Verzweigungen reichen. Diese Operatoren interagieren mit Variablen, bilden Bedingungen und sind essenzielle Werkzeuge für komplexe Berechnungen oder Flusskontrolle.

Die Priorität und Assoziativität der einzelnen Operatoren werden im Abschnitt "Priorität und Bewertungsreihenfolge" behandelt.