6.12
2.6 Listat
Luo listan, joka sisältää sille annetut argumentit. Lista muodostuu ns. cons-soluista, joissa on aina vasen ja oikea
alkio. Listan viimeisen cons-solun oikean puoleinen alkio on aina '().
> (list 1 2 3) '(1 2 3)
Yhdistää monta listaa yhdeksi listaksi.
Palauttaa ei-tyhjän listan ensimmäisen alkion.
> x '(2 "hei" #true)
> (first x) 2
Poistaa ei-tyhjän listan ensimmäisen alkion ja palauttaa jäljelle jäävän listan.
> x '(2 "hei" #true)
> (rest x) '("hei" #true)
Palauttaa listan alkioiden määrän.
> x '(2 "hei" #true)
> (length x) 3
Palauttaa i:n osoittaman alkion listasta x. Listan indeksointi alkaa nollasta.
Tutkii, onko x mukana listassa (vertailu tehdään käyttämällä equal?).
> x '(2 "hei" #true)
> (member? "hei" x) #true
Palauttaa listan, josta on poistettu ensimmäinen arvo, joka vastaa x:ää (vertailussa käytetään equal?).
> x '(2 "hei" #true)
> (remove "hei" x) '(2 #true)
> z '(2 "hei" #true "hei")
> (remove "hei" z) '(2 #true "hei")
procedure
(remove-all x l) → list?
x : ei-tyyppivaatimusta l : list?
Palauttaa listan, josta on poistettu kaikki arvot, jotka vastaavat x:ää (vertailussa käytetään equal?).
> z '(2 "hei" #true "hei")
> (remove-all "hei" z) '(2 #true)
Palauttaa käännetyn listan.
> k '(0 1 2 3 4 5 6 7 8 9)
> (reverse k) '(9 8 7 6 5 4 3 2 1 0)
> z '(2 "hei" #true "hei")
> (reverse z) '("hei" #true "hei" 2)
Luo listan lukuja välillä alku - loppu niin, että askeleena käytetään askel.
procedure
(cons? x) → totuusarvo
x : ei-tyyppivaatimusta
Tutkii, onko x rakenteeltaan lista tai puu, eli koostuuko se ns. cons-soluista, joissa on aina vasen ja oikea
alkio.
procedure
(list? x) → totuusarvo
x : ei-tyyppivaatimusta
Tutkii, onko x rakenteeltaan lista, eli ketjutettuja cons-soluja, jossa ketjun viimeinen alkio on tyhjä lista '().
procedure
(empty? x) → totuusarvo
x : ei-tyyppivaatimusta
Tutkii, onko x tyhjä lista '().
Vaihtoehtoinen tapa ilmaista '() eli tyhjä lista.
> empty '()