Cons-Element zum Auflisten von Contra-Liste zu Element in Schema

8

Was ist der Unterschied zwischen der Verwendung von cons, um ein Element zu einer Liste zu kombinieren, und der Verwendung von cons, um eine Liste mit einem Element im Schema zu kombinieren?

Außerdem, wie genau funktionieren die Nachteile? Fügt es am Ende der Liste oder am Anfang ein Element hinzu?

Danke!

    
Maritha Wang 06.10.2013, 19:37
quelle

1 Antwort

22

Das primitive cons klebt einfach zwei Dinge zusammen, die Tatsache, dass einige dieser Dinge als Listen betrachtet werden, ist nebensächlich. Dies funktioniert zum Beispiel und erzeugt ein Paar (auch bekannt als cons-Zelle ):

%Vor%

Wenn nun das zweite Argument für cons zufällig eine Liste ist, dann wird das Ergebnis eine neue Liste sein, und das erste Argument für cons wird am Anfang der alten Liste hinzugefügt. Mit anderen Worten: Um eine Liste zu erstellen, benötigen Sie eine Liste, auch wenn sie leer ist:

%Vor%

Aber wenn das zweite Argument für cons nicht eine Liste ist, dann ist das Ergebnis nur ein Paar oder eine falsche Liste , was bedeutet, dass es nicht t Ende in '() , wie es sollte, um eine Liste zu sein:

%Vor%

Nur zur Klarstellung, Sie können cons nicht verwenden, um Elemente am Ende einer Liste hinzuzufügen. Der übliche Weg, um eine Liste zu erstellen, geht von rechts nach links und fügt Elemente in umgekehrter Reihenfolge an der Kopfposition hinzu. Wenn Sie beispielsweise die Liste '(1 2 3) erstellen möchten, müssen Sie cons die Elemente in der Reihenfolge% co_de verwenden %:

%Vor%

Für die seltenen Fälle, in denen Sie am Ende ein Element hinzufügen müssen (und glauben Sie mir, dies bedeutet im Allgemeinen, dass Sie den Algorithmus falsch finden), können Sie 3 2 1 verwenden, das zwei Listen als Argumente:

%Vor%     
Óscar López 06.10.2013, 20:48
quelle

Tags und Links