Szukaj…


Wprowadzenie

Para jest jednym z najbardziej podstawowych typów danych w schemacie. Jest to zwykle nazywane komórkami przeciw.

Utwórz parę

Parę można utworzyć za pomocą funkcji cons . Nazwa funkcji oznacza konstruktor . W schemacie wszystko opiera się w zasadzie na parach.

(cons a b)

Funkcja zwraca parę zawierającą element a i b . Pierwszy parametr cons nazywa się car (rejestr adresów treści), a drugim argumentem jest cdr (rejestr zmniejszenia zawartości).

Uzyskaj dostęp do samochodu pary.

Dostęp do danych w parze można uzyskać za pomocą funkcji narzędziowych. Aby uzyskać dostęp do car , musimy użyć funkcji car .

(car (cons a b))
> a

Możemy również zweryfikować następującą równość:

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

Uzyskaj dostęp do cdr pary

Aby uzyskać dostęp do cdr, musimy użyć funkcji cdr.

(cdr (cons ab))

b

Możemy również zweryfikować następującą równość:

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

#t

Utwórz listę z parami

Lista w schemacie to nic innego jak seria par zagnieżdżonych w sobie w cdr cons . A ostatnim cdr właściwej listy jest pusta lista '() .

Aby utworzyć listę (1 2 3 4) , mielibyśmy coś takiego:

(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)

Jak widać, lista w schemacie to lista połączona złożona z par. Z tego powodu dodanie obiektu na początku listy nie zajmuje prawie czasu, ale dodanie elementu na końcu listy zmusza interpretera do przejścia przez całą listę.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow