Listenverwaltung
Beispiele
Sämtliche Elemente einer Reihe haben die selbe Position innerhalb der Liste. folgende Beispiele stellen verschiedene Listen dar:
{ 1 ; 2 ; 3 ; " Zeichenkette " ; 2012.02.07 -12:00:00 }
{ eins -> 1 ; zwei -> 2 ; " Ergebnis " }
{ { 1 ; 2 ; 3 } ; { 4 ; 5 ; 6 } }
{ 1...5 ; 20 ; 21 ; 1000 }
Referenz
OBAS kennt keinen eigenen Listen-Datentyp. Listen werden in Form von Zeichenketten verwaltet. OBAS stellt jedoch mehrere Funktionen zur Verfügung, mit denen dergestalte Listen erstellt, manipuliert und ausgewertet werden können. Die Listenfunktionen sind insbesondere dort hilfreich, wo Ergebnisse von anderen Funktionen, die in Form von Listen geliefert werden, weiterverarbeitet werden sollen.
Listen werden in OBAS immer in geschweiften Klammern dargestellt. Eine Liste kann Elemente sowie weitere Listen enthalten. Eine Liste innerhalb einer Liste wird als einzelnes Element betrachtet. Es existieren keine Limitierungen in Bezug auf die Schachtelungstiefe von Listen. Die einzelnen Elemente innerhalb einer Liste werden durch ein Semikolon voneinander getrennt. Elemente innerhalb einer Liste können Zahlen, Zeichenketten, Datumsangaben, Bezeichner sowie Listen sein. Vor jedem Element kann optional ein Elementname in Form eines Bezeichners eingefügt werden. Ein Elementname wird von seinem zugehörigen Element durch die beiden Zeichen -›getrennt. Ohne die Kombination -›wird ein Name nicht als solcher, sondern als Element interpretiert.
Die Zeichensequenz ”...” in einer Liste definiert eine Reihe von Elementen. Mit solchen Reihenangaben können Listen verkürzt werden. Reihenangaben sind immer dann sinnvoll, wenn mehrere aufeinanderfolgende Elemente in eine Liste geschrieben werden sollen.
LIST MAKE$( Zeichenkette$ )
Aus einer Zeichenkette eine Liste erzeugen
LIST BMAKE$( Zahl | Zeichenkette$ )
Liste aus einzelnen Bytes erstellen
LIST ADD$( Liste$ ; Element$)
Ein Element zu einer Liste hinzufügen
LIST LEN( Liste$ )
Anzahl der Elemente in einer Liste bestimmen
LIST TEST( Liste$ )
Prüfen, ob eine Liste gültig ist
LIST GET NAME$( Liste$ ; Position )
Ein Element basierend auf dem Namen liefern
LIST GET$( Liste$ ; Position )
Ein Element basierend auf der Funktion liefern
LIST INTERSECTION$( Liste1$ ; Liste2$ )
Schnittmenge zweier Listen als neue Liste liefern
LIST COMPLEMENT$( Liste1$ ; Liste2$ )
Elemente, die in einer, aber nicht der anderen Liste enthalten sind liefern
LIST POS( Liste$ ; Position ; RekursiveTests ; CaseTests )
Liste nach einem Element durchsuchen und die Position liefern
LIST SYSTEM$( Abfrage$ )
Systemfunktion aufrufen und Ergebnis als Liste liefern
LIST WORDLIST$( Zeichenkette$ ; Flags)
Aus jedem Word einer Zeichenkette ein Listenelement bilden


