BlitzMax: Ausdruck
Unter der Bezeichnung Ausdruck wird jede Art von Werten zusammengefasst. Ausdrücke die mit Operatoren zusammen gefasst sind, bilden wiederum einen Ausdruck
Operatoren
[Bearbeiten]Die von BlitzMax unterstützten Operatoren sind gruppiert nach ihrer Auswertungs-Priorität, beginnend mit der höchsten Priorität:
| Syntax | Beschreibung |
|---|---|
| (Ausdruck) | Ein geklammerter Ausdruck erhöht die Priorität gegenüber Ausdrücken außerhalb der Klammer. |
| New Typename | Konstruktor-Methode eines Type-Objekts |
| Wert | Egal ob als Literal oder Identifer |
| Self | Erzwingt in Methoden die Verwendung eine Objekt-Eigenschaft, wenn die Methode eine gleichnamige Lokale Variable hat. |
| Super | Verweist auf die Mitglieder eines Mit "Extends" an gebundenen Basis-Type |
| Null | Der Defaultwert eines Typezeigers |
| Pi | Eine vordefinierte Konstante vom Typ Double mit dem Wert 3.1415926535897932384626433832795 |
| False | boolscher Wert "Falsch" , der dem Defaultwert eines Datentyps entspricht (False ist eine vordefinierte Integer-Konstante mit dem Wert 0) |
| True | boolscher Wert "Wahr", der jedem vom Defaultwert abweichendem Wert eines Datentyps entspricht (True ist eine vordefinierte Integer-Konstante mit dem Wert 1) |
| Min (Ausdruck1,Ausdruck2) | Gibt den niedrigeren, der beiden nachfolgenden Ausdrücke zurück. |
| Max (Ausdruck1,Ausdruck2) | Gibt den höheren, der beiden nachfolgenden Ausdrücke zurück. |
| Syntax | Beschreibung |
| Ausdruck.Identifer | Mitglied eines Type oder einer Type-Instanz |
| Ausdruck[IndexAusdruck] | Indizierung eines Array (gilt auch für Strings) |
| Ausdruck(Parameterliste) | Unterprogrammaufruf |
| Syntax | Beschreibung |
| -Ausdruck | Negation |
| +Ausdrucl | Posation |
| ~Ausdruck | Binäres Komplement |
| Not Ausdruck | Boolesche Negation |
| Abs Ausdruck | Absoluter Ausdruck (Abs Ausdruck = Ausdruck * Sgn Ausdruck) |
| Sgn Ausdruck | Gibt das Vorzeichen eines Ausdrucks zurück. (Sgn kann nur 3 verschiedene Werte haben: -1, 0, +1) |
| SizeOf Ausdruck | Bytelänge eines Ausdrucks |
| VarPtr Variable | Adresszeiger einer Variablen |
| Syntax | Beschreibung |
| Ausdruck ^ Ausdruck | Exponent eines Ausdrucks |
| Syntax | Beschreibung |
| Ausdruck * Ausdruck | Numerische Multiplikation |
| Ausdruck / Ausdruck | Numerische Division |
| Ausdruck Mod Ausdruck | Rest einer numerischen Division zu einem (ignorierten) Integer-Quotient |
| Ausdruck Shl Ausdruck | Bitweise Verschiebung nach links |
| Ausdruck Shr Ausdruck | Bitweise Verschiebung nach rechts |
| Ausdruck Sar Ausdruck | Arithmetische Verschiebung nach rechts (entspricht der Addition von 1 zum Binärexponenten) |
| Syntax | Beschreibung |
| Ausdruck + Ausdruck | Addition |
| Ausdruck - Ausdruck | Subtraktion |
| Stringausdruck + Stringausdruck | Zusammensetzen von Strings |
| Syntax | Beschreibung |
| Ausdruck & Ausdruck | Binäres Und |
| Ausdruck | Ausdruck | Binäres Oder |
| Ausdruck ~ Ausdruck | Binäres Exklusiv Oder |
| Syntax | Beschreibung |
| Ausdruck = Ausdruck | Gleich |
| Ausdruck <> Ausdruck | Ungleich |
| Ausdruck < Ausdruck | Kleiner als |
| Ausdruck > Ausdruck | Größer als |
| Ausdruck <= Ausdruck | Kleiner oder gleich |
| Ausdruck >= Ausdruck | Größer oder gleich |
| Syntax | Beschreibung |
| Ausdruck And Ausdruck | Und von Bedingungen |
| Ausdruck Or Ausdruck | Oder von Bedingungen |
Werte von False nach Datentyp
[Bearbeiten]False ist eine vordefinierte Integer-Konstante mit dem Wert 0. Wenn ein Ausdruck als Bedingung verwendet wird, so wird der datentypabhängige Defaultwert des Ausdrucks als False interpretiert (die Bedingung ist nicht erfüllt). Jeder davon abweichende Wert wird wird als True interpretiert (die Bedingung ist erfüllt), das als Konstante mit dem Wert 1 vordefiniert ist. Datentypen kann man daher nach ihrem Defaultwert gruppieren, um den Wert zu bestimmen, der als False interpretiert wird:
| Gruppe | Datentypen | Default-Wert(False) |
|---|---|---|
| Integerwerte | Byte, Short, Int, Long | 0 |
| Floatwerte | Float, Double | 0.0 |
| Datenfelder | beliebiger Datentyp[Werte] | Arrayname[] |
| Zeichenketten | String | "" |
| Objekte | Object | Null |