Next: Funktionen und Variablen für Strukturen, Previous: Strukturen, Up: Strukturen [Contents][Index]

#### 5.6.1 Einführung in Strukturen

Maxima bietet eine einfache Möglichkeit, Daten in eine Struktur zusammenzufassen. Eine Struktur ist ein Ausdruck, in der die Argumente mit ihren Feldnamen bezeichnet werden und die Struktur als Ganzes mit dem Namen des Operators bezeichnet wird. Der Wert eines Feldes kann ein beliebiger Ausdruck sein.

Eine Struktur wird mit der Funktion `defstruct` definiert. Die Informationsliste `structures` enthält die vom Nutzer definierten Strukturen. Die Funktion `new` generiert eine neue Instanz einer Struktur. Mit dem Operator `@` wird auf die Felder einer Struktur zugegriffen. Mit dem Kommando `kill(S)` wird die Definition der Struktur `S` gelöscht. Mit dem Kommando `kill(x@a)` wird das Feld a der Instanz x einer Struktur gelöscht.

In der 2D-Anzeige werden die Felder von Instanzen einer Struktur als eine Gleichung angezeigt. Die linke Seite der Gleichung ist der Feldname und die rechte Seite der Gleichung ist der Wert des Feldes. Die Gleichungen werden nur in der Anzeige gezeigt und werden nicht als Teil der Struktur gespeichert. In der 1D-Anzeige und bei der Ausgabe mit der Funktion `grind` werden nur die Werte der Felder ausgegeben.

Ein Feldname kann nicht als der Name einer Funktion verwendet werden. Jedoch kann ein Feld einen Lambda-Ausdruck enthalten. Auch können die Felder nicht auf bestimmte Datentypen eingeschränkt werden. Einem Feld kann immer ein beliebiger Ausdruck zugewiesen werden. Weiterhin sind die Felder einer Struktur immer sichtbar. Der Zugriff auf ein Feld kann nicht eingeschränkt werden.

Next: Funktionen und Variablen für Strukturen, Previous: Strukturen, Up: Strukturen [Contents][Index]