Kapitel 6Folgen, Listen und Mengen

Folgen

    Eine Folge (sequence) ist eine geordnete Menge von Ausdrücken, die durch Kommas getrennt sind.

    Folgen können auf verschiedene Arten generiert werden:

    1. Mit dem Komma-Operator: Die Ausdrücke werden durch Kommas getrennt nacheinander eingegeben.

    > expression1 , expression2 , expression3;

    2. Mit dem $-Operator: Wenn eine Bildungsvorschrift für die Folge bekannt ist, kann der $-Operator benutzt werden.

    > expression $ var = n .. m ;

    Der Ausdruck expression wird wiederholt, wobei die Variable var die (ganzzahligen) Werte n bis m annimmt.

    Beachte Bei der Erzeugung einer Folge mit dem $-Operator darf keineVariable benutzt werden, der bereits ein Wert zugewiesen wurde. Um sicherzugehen, sollte die Variable stets in single quotes (zur Nicht-Auswertung) gesetzt werden!
    Beispiel Anwendung des Komma-Operators und des $-Operators

    3. Mit der seq-Funktion: Dies ist ebenfalls sinnvoll, wenn eine Bildungsvorschrift vorliegt.

    > seq(expression , var = n .. m) ;

    Wie beim $-Operator wird auch hier der Ausdruck expression mit (ganzzahligen) Werten für die Variable var von n bis m wiederholt.

    Außerdem gibt es eine zweite Form, bei der der unten näher beschriebene Datentyp Liste benutzt wird.

    > seq(expression , var = liste) ;

    In diesem Fall durchläuft die Variable var alle Werte der Liste liste.

    Beachte Bei der Erzeugung einer Folge mit der seq-Funktion kann eine beliebige Variable benutzt werden, auch wenn ihr vorher ein Wert zugewiesen worden war. In Release 3 hat die Variable allerdings nach dem Aufruf der seq-Funktion stets den letzten Wert, den sie innerhalb der seq-Funktion angenommen hatte! Mit Release 4 ist diese Schwäche behoben.

    Die Erzeugung von Folgen mit $ und/oder seq kann beliebig geschachtelt werden.

    Auf die Folgenglieder kann einzeln zugegriffen werden. Wenn der Variablen a eine Folge zugewiesen wurde, wird das i-te Folgenglied mit a[i] bezeichnet. Die Numerierung beginnt dabei mit 1!

    Beispiel Die Erzeugung von Folgen mit der seq-Funktion und der Zugriff auf einzelne Folgenglieder

Listen

Mengen

Konvertierung zwischen den Datentypen sequence, list und set