Ricerca…
introduzione
Crea una coppia
Una coppia può essere creata con la funzione cons . Il nome della funzione sta per costruttore . In Scheme, tutto è praticamente basato su coppie.
(cons a b)
La funzione restituisce una coppia contenente l'elemento a e b . Il primo parametro di cons è chiamato car (Content Address Register) e il secondo argomento è il cdr (Content Decrement Register).
Accedi alla macchina della coppia.
È possibile accedere ai dati nella coppia con le funzioni di utilità. Per accedere alla car , dobbiamo usare la funzione car .
(car (cons a b))
> a
Inoltre possiamo verificare la seguente uguaglianza:
(eq? a (car (cons a b)))
> #t
Accedi al cdr della coppia
Per accedere al cdr, dobbiamo usare la funzione cdr.
(cdr (cons ab))
B
Inoltre possiamo verificare la seguente uguaglianza:
(eq? b (cdr (cons ab)))
#t
Crea una lista con coppie
L'elenco nello schema non è altro che una serie di coppie annidate l'una nell'altra nel cdr di una cons . E l'ultimo cdr di una lista corretta è la lista vuota '() .
Per creare la lista (1 2 3 4) , avremmo qualcosa di simile a questo:
(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)
Come puoi vedere, un elenco in schema è un elenco collegato fatto di coppie. Per questo motivo, l'aggiunta di un oggetto in primo piano non richiede quasi tempo, ma l'aggiunta di un elemento alla fine dell'elenco costringe l'interprete a camminare sull'intero elenco.