prevnext   » Startseite » Haupt-Referenz » Typen und Wertebereiche » LIST: Liste

LIST: Liste

1.   Einleitung

Mit dem Datentyp LIST können Daten in dynamischen Arrays gespeichert werden. Die einzelnen Werte werden über einen numerischen Index beginnend ab Null angesprochen, der in eckigen Klammern '[]' steht.
Beispiel: var[3] = x[2*b] + y["map"][length(str)].

Wie in dem Beispiel gezeigt, kann ein Listen-Element eine LISTE oder MAP enthalten.

Die Indexverwatlung ist robust. Um ein Element abzufragen, kann ein beliebiger numerische Index angegeben werden. Dieser Index wird zunächst mittels int32() in eine 32-Bit Ganzzahl gewandelt. Existiert das Element mit diesem Index, dann wird es als Ergebnis geliefert; anderenfalls wird '@NONE' geliefert.

Bei einer Zuweisung wird die Liste automatisch erweitert, so dass das indizierte Element gespeichert werden kann. Alle anderen neu erzeugten Element erhalten den Wert '@NONE'. So werden z.B. durch 'var[1000] = 1' bis zu 1001 neue Elemente erzeugt.


2.   Konstanten

Durch '@LIST' oder kurz '@L' (Groß-/Kleinschreibung unerheblich) kann eine konstante Liste angegeben werden. Die eigentliche Liste wird in eckigen Klammern '[]' eingeschlossen. Die einzelnen Werte werden durch Kommata getrennt. Ein leeres Element wird automatisch als '@NONE' interpretiert. Die Liste kann rekursiv Listen und Maps enthalten.

Wichtig: Mittels '@LIST' wird eine Konstante definiert, die ihrerseits auch nur Konstanten enthalten darf. Alternativ kann die Funktion list() verwendet werden, die beliebige Ausdrücke als Parameter erwartet.

Beispiele:

Konstante Beschreibung
@LIST Leere Liste
@L Kurzform für 'Leere Liste'.
@LIST[] Liste mit einem Element (@NONE).
@LIST[1] Liste mit einem Element.
@LIST[1,'a'] Liste mit zwei Elementen.
@LIST[,1,,'a',] Liste mit fünf Elementen.
@LIST[@LIST[1,2],@MAP[a=1]] Liste, die eine Liste und eine Map enthält.

Siehe auch:
 Typen und Wertebereiche   MAP: Map   list()