リストを作る手続き、cons、append、list

SICP を読んでいて、どうもリストの操作がきちんと理解できていないことから問題を解くのに手間取っているようなのでリストを作る手続き consappendlist についてメモをしておく。

cons

先頭にくる要素と残りのリストを組み合わせてリストを作る。

(cons a b)
;gosh> ((1 2 3) 4 5 6)
(cons '0 a)
;gosh> (0 1 2 3)
(cons a '0)
;gosh> ((1 2 3) . 0) ;; ドットリスト(dotted list) : 最後が空リストで終わっていないリスト

append

リストを連結して新たなリストを作る。

(append a b)
;gosh> (1 2 3 4 5 6)
(append '0 a)
;gosh> *** ERROR: list required, but got 0
(append a '0)
;gosh> (1 2 3 . 0) ;; ドットリスト(dotted list) : 最後が空リストで終わっていないリスト

list

与えられた引数を要素とするリストを作る。

(list a b)
;gosh> ((1 2 3) (4 5 6))
(list '0 a)
;gosh> (0 (1 2 3))
(list a '0)
;gosh> ((1 2 3) 0)
プログラミングGauche
プログラミングGauche

posted with amazlet at 08.11.14
Kahuaプロジェクト
オライリージャパン
売り上げランキング: 22775
«
»