Operators sind spezielle functions, die in der Programmiersprache Verse definiert sind, um Aktionen wie mathematische Operationen mit ihren operands auszuführen. Beispielsweise ist im Ausdruck 1 + 2 das + ein Operator und 1 und 2 sind beides Operanden.
Es gibt drei Formate für Operatoren, die du in Verse sehen wirst:
Präfix: Es gibt nur einen Operanden und der Operator ist vor dem Operanden.
Infix: Es gibt zwei Operanden und der Operator ist zwischen den Operanden.
Postfix: Es gibt nur einen Operanden und der Operator ist hinter dem Operanden.
Diese Seite beschreibt alle in Verse verwendbaren Operatoren, wie sie funktionieren und ihre order of evaluation, wenn sie in Kombination mit anderen Operatoren verwendet werden.
Liste aller Operatoren und Vorrang der Operatoren
Wenn mehrere Operatoren im selben Ausdruck verwendet werden, werden sie in der Reihenfolge des höchsten bis niedrigsten Vorrangs ausgewertet. In der folgenden Tabelle sind alle eingebauten Operatoren in Verse und ihre Rangfolge aufgeführt.
| Name | Bediener | Beschreibung | Operatorenformat | Vorrang des Operators | Beispiel |
|---|---|---|---|---|---|
Abfrage |
| Der Operator | postfix | 11. |
|
Nicht |
| Der Operator | Präfix | 26. |
|
Positiv |
| Du kannst den Operator | Präfix | 26. |
|
Negativ |
| Du kannst den Operator | Präfix | 26. |
|
Multiplikation |
| Das | Infix | 7 |
|
Division |
| Der Operator | Infix | 7 |
|
Zusatz |
| Der Operator | Infix | 6 |
|
Subtraktion |
| Der Operator | Infix | 6 |
|
Additionszuweisung |
| Mit diesem Operator kannst du Addition und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. Siehe Math für weitere Details. | Infix | 5 |
|
Subtraktionszuweisung |
| Mit diesem Operator kannst du Subtraktion und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. Siehe Math für weitere Details. | Infix | 5 |
|
Multiplikationszuweisung |
| Mit diesem Operator kannst du Multiplikation und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. Siehe Math für weitere Details. | Infix | 5 |
|
Divisionszuweisung |
| Mit diesem Operator kannst du Division und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren, es sei denn, die Variable ist eine ganze Zahl. Siehe Math für weitere Details. | Infix | 5 |
|
Ist gleich |
| Der Operator | Infix | 44 |
|
Ungleich |
| Der | Infix | 44 |
|
Kleiner als |
| Der Operator | Infix | 44 |
|
Kleiner als oder gleich wie |
| Der Operator | Infix | 44 |
|
Größer als |
| Der Operator | Infix | 44 |
|
Größer als oder gleich wie |
| Der Operator | Infix | 44 |
|
Außerdem |
| Der Operator | Infix | 3 |
|
Oder |
| Der Entscheidungsoperator | Infix | 10 |
|
Initialisierung von Variablen und Konstanten |
| Mit diesem Operator kannst du Werte in einer Konstanten oder Variable speichern. Siehe Constants and Variables für weitere Details. | Infix | 1 |
|
Variablenzuweisung |
| Mit diesem Operator kannst du die in einer Variablen gespeicherten Werte aktualisieren. Siehe Constants and Variables für weitere Details. | Infix | 1 |
|
Wenn es im selben Ausdruck Operatoren mit der gleichen Rangfolge gibt, werden sie von links nach rechts ausgewertet. Zum Beispiel in dem Ausdruck 3*2/4 haben die beiden Operatoren * und / den gleichen Vorrang, also wird 3*2 zuerst ausgewertet und sein Ergebnis wird der restlichen Operand für den / Operator.
Du kannst die Reihenfolge, in der die Operatoren ausgewertet werden, ändern, indem du Ausdrücke mit () gruppierst. Beispielsweise ergeben (1+2)*3 und 1+(2*3) nicht dasselbe Ergebnis. Siehe Gruppierung für weitere Details.
Vergleich
Du kannst den Verlauf von Erfolg und Misserfolg mit Vergleichsausdrücken steuern, die den Operator inequality und equality verwenden. Vergleichsausdrücke sind failable, daher kannst du Vergleichsoperatoren nur in Fehlerkontexten verwenden, zum Beispiel in if-expressions.
Die folgende Tabelle beschreibt jeden Operator und welche types er unterstützt. Alle Vergleichsoperatoren verwenden das Infix-Format.
| Bediener | Unterstützte integrierte Typen | Beschreibung |
|---|---|---|
|
| Der Operator |
|
| Der Operator |
|
| Der Operator |
|
| Der Operator |
|
| Der Operator |
|
| Der Operator |
Sowohl <>als auch = werden auch für array, map, tuple und class-Instanzen unterstützt, allerdings mit Einschränkungen. Die Instanzen array, map und tuple können nur unterstützte Typen enthalten, und class-Instanzen werden nur unterstützt, wenn sie mindestens ein var-Element enthalten.
Entscheidung
Du kannst den Ablauf von Erfolg und Fehlschlag mit Entscheidungsausdrücken steuern, die die Operatoren not, and, und or verwenden. Entscheidungsausdrücke sind fehlbar, d.h. Sie können Vergleichsoperatoren nur in Fehlerkontexten verwenden, wie z.B. in if-Ausdrücken. Sie können alle Ausdrücke, die erfolgreich oder nicht erfolgreich sind, mit Entscheidungsoperatoren verwenden.
Nicht-Operator
Der Entscheidungsoperator not negiert den Erfolg oder Misserfolg eines Ausdrucks. Der Operator not verwendet das Präfixformat.
Wenn zum Beispiel expression fehlschlägt, wird not expression erfolgreich sein. Wenn expression erfolgreich ist, schlägt not expression fehl und die Auswirkungen von expression werden nie übernommen (als ob der Ausdruck nie stattgefunden hätte).
Nachdem beispielsweise der folgende Code ausgeführt wurde, hat Example immer noch den Anfangswert 0:
var Example : int = 0
if (not (set Example = ExampleArray[0])) { … }Du kannst not not expression verwenden, um zu prüfen, ob ein Ausdruck erfolgreich sein wird, aber um sicherzustellen, dass der Ausdruck nie ausgeführt wird.
| Ergebnis des Ausdrucks p | Ergebnis des Ausdrucks not p | Ergebnis des Ausdrucks not not p |
|---|---|---|
Erfolgreich und das Ergebnis ist | Der Ausdruck schlägt fehl, und der Effekt von | Der Ausdruck ist erfolgreich, aber die Effekte von |
Schlägt fehl und Ergebnis ist kein Wert | Der Ausdruck ist erfolgreich. Das Ergebnis des Ausdrucks ist | Der Ausdruck schlägt fehl. Das Ergebnis des Ausdrucks ist kein Wert. |
Referenz für den not-Operator, der einen Ausdruck auswertet, dargestellt durch p.
Und / Oder-Operatoren
Der Entscheidungsoperator and verwendet das Infixformat und ist ein fehlbarer Ausdruck, der erfolgreich ist, wenn beide Operanden erfolgreich sind, bzw. fehlschlägt, wenn mindestens ein Operand fehlschlägt.
Der Entscheidungsoperator or verwendet das Infixformat und ist:
Ein Fehlerkontext für den ersten Operanden.
Nur dann ein fehlbarer Ausdruck, wenn der zweite Operand fehlbar ist.
Der Operator or überspringt die Auswertung des zweiten Operanden, wenn der erste Operand erfolgreich ist.
Die folgende Tabelle beschreibt die Ergebnisse aller Operandenkombinationen von Erfolg und Misserfolg für Entscheidungsausdrücke mit den Operatoren and und or.
| Ergebnis des Ausdrucks p | Ergebnis des Ausdrucks q | Ergebnis des Ausdrucks p und q | Ergebnis des Ausdrucks p oder q |
|---|---|---|---|
Erfolgreich und Ergebnis ist | Erfolgreich und das Ergebnis ist | Der Ausdruck ist erfolgreich, sodass der Effekt von beiden | Der Ausdruck ist erfolgreich und nur die Effekte von |
Erfolgreich und das Ergebnis ist | Schlägt fehl und Ergebnis ist kein Wert | Der Ausdruck schlägt fehl und der Effekt von beiden | Der Ausdruck ist erfolgreich und nur die Effekte von |
Schlägt fehl und Ergebnis ist kein Wert | Erfolgreich und das Ergebnis ist | Der Ausdruck schlägt fehl und der Effekt von beiden | Der Ausdruck ist erfolgreich und nur die Effekte von |
Schlägt fehl und Ergebnis ist kein Wert | Schlägt fehl und Ergebnis ist kein Wert | Der Ausdruck schlägt fehl und der Effekt von beiden | Der Ausdruck schlägt fehl und der Effekt von beiden |
Referenz für die Operatoren and und or, die Ausdrücke auswerten, dargestellt durch p und q.
Mathematik
Mit mathematischen Ausdrücken kannst du die vier Grundrechenarten (Addition, Subtraktion, Multiplikation und Division) mit Zahlenwerten durchführen und Strings zusammenfügen. Alle Operatoren verwenden das Infix-Format, außer + und - können auch ein Präfix für Zahlenwerte sein.
Es gibt auch Zuweisungsoperatoren, z. B. set X += 10. Sie sind fast dasselbe wie die Durchführung der Operation und die anschließende Zuweisung des Ergebnisses, set X = X + 10, mit dem Unterschied, dass das X in diesem Fall nur einmal ausgewertet wird. Das Ergebnis eines Zuweisungsoperators ist der Wert, der zur Aktualisierung der Variablen verwendet wird.
Die folgende Tabelle beschreibt jeden Operator und welche Typen er unterstützt.
| Bediener | Unterstützte integrierte Typen | Beschreibung |
|---|---|---|
|
| Der Operator |
|
| Der Operator |
|
| Das |
|
| Der Operator |
|
| Mit diesem Operator kannst du Addition und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. |
|
| Mit diesem Operator kannst du Subtraktion und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. |
|
| Mit diesem Operator kannst du Multiplikation und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren. |
|
| Mit diesem Operator kannst du Division und Zuweisung in der gleichen Operation kombinieren, um den Wert einer Variablen zu aktualisieren, es sei denn, die Variable ist eine ganze Zahl. Weitere Informationen zur Ganzzahldivision findest du unter int. |
Abfrage
Abfrageausdrücke verwenden den Operator ? (Abfrage) und prüfen, ob ein logischer -Wert True ist. Andernfalls schlägt der Ausdruck fehl. Der Operator ? (Abfrage) verwendet das Postfix-Format.
| Ergebnis des Ausdrucks p | Ergebnis des Ausdrucks p? |
|---|---|
| Erfolgreich und das Ergebnis ist |
| Schlägt fehl und das Ergebnis ist kein Wert. |
Referenz für das ? (Abfrage) Operator, der Ausdrücke auswertet, dargestellt durch p.
Zum Beispiel:
if (IsMorning?):
Say("Good Morning!")