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()