Szukaj…
Wprowadzenie
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ę.