Ricerca…


introduzione

Una coppia è uno dei tipi di dati più basilari nello schema. Di solito si chiama anche contro le cellule.

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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow