Suche…


Einführung

Ein Paar ist einer der grundlegendsten Datentypen im Schema. Es wird normalerweise auch cons-Zellen genannt.

Erstellen Sie ein Paar

Ein Paar kann mit der cons Funktion erstellt werden. Der Name der Funktion steht für Konstruktor . In Scheme basiert alles auf Paaren.

(cons a b)

Die Funktion gibt ein Paar zurück, das die Elemente a und b . Der erste Parameter von cons heißt car (Content Address Register) und das zweite Argument ist cdr (Content Decrement Register).

Greifen Sie auf das Auto des Paares zu.

Auf die Daten im Paar kann mit Hilfsfunktionen zugegriffen werden. Um auf das car zuzugreifen, müssen wir die car Funktion verwenden.

(car (cons a b))
> a

Wir können auch die folgende Gleichheit überprüfen:

(eq? a (car (cons a b)))
> #t

Greifen Sie auf die CD des Paares zu

Um auf die CDR zuzugreifen, müssen wir die CDR-Funktion verwenden.

(cdr (cons ab))

b

Wir können auch die folgende Gleichheit überprüfen:

(eq? b (cdr (cons ab)))

#t

Erstellen Sie eine Liste mit Paaren

Liste in Schema sind nichts anderes als eine Reihe von Paaren, die in der cdr eines cons ineinander verschachtelt sind. Und die letzte cdr einer richtigen Liste ist die leere Liste '() .

Um die Liste zu erstellen (1 2 3 4) , haben wir so etwas:

(cons 4 '())
> (4)
(cons 3 (cons 4 '()))
> (3 4)
(cons 2 (cons 3 (cons 4 '())))
> (2 3 4)
(cons 1 (cons 2 (cons 3 (cons 4 '()))))
> (1 2 3 4)

Wie Sie sehen, ist eine Liste im Schema eine aus Paaren bestehende verknüpfte Liste. Aus diesem Grund dauert das Hinzufügen eines Objekts am Anfang der Liste fast keine Zeit, aber das Anhängen eines Elements am Ende der Liste zwingt den Interpreter, über die gesamte Liste zu gehen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow