リストから要素を取り出す


Tags: リスト, R6RS, SRFI

リストの n 番目の要素を参照するには list-ref 手続きを使う。

(import (rnrs))

(define xs '(0 1 2 3 4 5))

(list-ref xs 0) ; => 0
(list-ref xs 4) ; => 4

また SRFI-1 には first から tenth までのリスト参照手続きが用意されている。

(import (rnrs) (except (srfi :1) map for-each fold-right assoc member remove))

(first '(1 2 3)) ; => 1
(nineth '(1 3 5 7 9 11 13 15 17 19 21)) ; => 19

リストを cons セルの列なりや木構造として考える場合には car, cdr, caar といった手続きを使うことが多い。

(import (rnrs))

(car '(a b)) => a
(caar '((a 1) (b 2) (c 3)) ; => a