Ein Ausdruck ist die kleinste Codeeinheit, die ein Ergebnis hat, wenn sie ausgewertet wird. In Verse ist alles ein Ausdruck, was bedeutet, dass alles zu einem Wert ausgewertet wird.
Ein Beispiel ist ein if ... else Ausdruck, der in Verse einen Wert ergibt, der vom Inhalt
des Ausdrucks Blöcke abhängt. Der folgende Code ergibt einen String-Wert, der entweder "Big!" enthält oder “Small!” abhängig davon, ob MyNumber größer als 5 war:
if (MyNumber > 5):
“Big!”
else
“Small!”Das bedeutet, dass du ein if... verwenden kannst. else direkt als Input für Funktionen verwenden, anstatt ein Ergebnis zu speichern und dieses Ergebnis als Input zu verwenden.
Dieses Beispiel ist zwar einfach, aber es gibt Kontexte, in denen dies noch mächtiger ist. Beispielsweise werden Schleifen als Arrays von Werten ausgewertet, so dass du schnell neue Arrays auf der Basis bestehender Arrays erstellen kannst.
Im folgenden Code enthält MyArray alle Werte aus NumberArray, die kleiner als 5 sind.
MyArray : []int = for(Number := NumberArray, Number < 5):
NumberFehlbare Ausdrücke
Ein fehlbarer Ausdruck ist ein Ausdruck, der entweder erfolgreich ist und einen Wert liefert oder fehlschlägt und keinen Wert zurückgibt. Fehlbare Ausdrücke können nur in einem Fehlerkontext ausgeführt werden, da dieser Kontext definiert, was im Falle eines Fehlers des Ausdrucks geschieht.
Beispiele für fehlschlagende Ausdrücke umfassen das Indizieren in einem Array, da ein ungültiger Index fehlschlägt, und die Verwendung von Operatoren wie dem Vergleich zweier Werte. Weitere Informationen über fehlbare Ausdrücke in Verse findest du unter Fehlschlag.
Liste der Ausdrücke in Verse
Die folgende Tabelle beschreibt die verschiedenen Arten von Ausdrücken in Versen. Folge den Links, um mehr über jeden Ausdruck zu erfahren.
| Ausdruck | Beschreibung | Ist der Ausdruck fehlbar? |
|---|---|---|
Literale | Ein Literal ist ein fixierter Wert in deinem Code, wie eine Zahl oder ein Charakter. In Verse gibt es Literale für die folgenden Typen:
| |
Funktionsaufrufe | Ein Funktionsaufruf ist ein Ausdruck, der zwei Formen haben kann: | Nur wenn der Funktionsaufruf die Form |
Vergleich | Ein Vergleichsausdruck vergleicht zwei Dinge unter Verwendung von einem der Vergleichsoperatoren:
Weitere Details findest du unter Bediener. | Ja |
Zuweisung | Ein Zuweisungsausdruck speichert einen Wert an einer veränderbaren Position, z. B. beim Initialisieren einer Konstanten oder beim Ändern des Wertes einer Variable. Weitere Details findest du unter Variablen und Konstanten. | |
Mathematik | Ein mathematischer Ausdruck führt Berechnungen mit Hilfe der folgenden Operatoren durch:
Alle diese Operatoren haben auch Zuweisungsvarianten, die mit Zeigern verwendet werden können. Weitere Details findest du unter Bediener. | Nur für Ganzzahl-Divisionen. |
Entscheidung | Ein Entscheidungsausdruck verwendet die Operatoren | Ja |
Abfrage | Ein Abfrageausdruck verwendet den Operator | Ja |
Instanziierung von Klassen und Strukturen | Das Erstellen einer Instanz einer | |
Steuerungsablauf | Der Kontrollfluss ist die Reihenfolge, in der ein Computer Anweisungen ausführt. Du kannst Ausdrücke wie
Weitere Details findest du unter Kontrollfluss. | |
Quadratmuster | Ein Array ist ein Container, in dem du Elemente desselben Typs speichern kannst. Die Elemente eines Arrays sind in der Reihenfolge angeordnet, in der du sie in das Array einfügst, und du kannst auf die Elemente über ihre Position im Array zugreifen, die als ihr Index bezeichnet wird. Weitere Informationen findest du unter Array. | Nur beim Indizieren in ein Array. |
Tupel | Ein Tupel ist ein Container, in dem du Elemente eines oder mehrerer Typen speichern kannst. Seine Elemente stehen in der Reihenfolge, in der du sie eingefügt hast, und du kannst über ihre Position im Tupel, ihren Index, auf sie zugreifen. Weitere Informationen findest du unter Tupel. | |
Karte | Eine Map ist ein Container, in dem du Werte speichern kannst, die mit einem anderen Wert assoziiert sind, sogenannte Key-Wert-Paare. Schlüssel-Wert-Paare können eine beliebige Kombination von Typen sein, solange der Schlüsseltyp vergleichbar ist. Die Elemente einer Zuordnung haben die Reihenfolge, in der du die Schlüssel-Wert-Paare in die Karte einfügst, und du kannst auf die Elemente über ihre einzigartigen Schlüssel zugreifen. Weitere Informationen findest du unter Karte. | |
Option | Eine Option ist ein Container, der einen oder keinen Wert eines Typs haben kann. Weitere Informationen findest du unter Option. | |
Reichweite | Bereichsausdrücke enthalten alle Zahlen zwischen und einschließlich der beiden angegebenen Werte mit |