コンスセルは 数珠つなぎにすることができます。 > (cons 3 (cons 1 2)) (3 1 . 2) (3 1 . 2) というのは (3 . (1 . 2)) の省略形です。 このとき、メモリーは図2の様になっています。 また、違う種類のデータを組み合わせることもできますし、入れ子にすることもできます。 > (cons #\a (cons 3 "hello")) (#\a 3 . "hello") > (cons (cons 0 1) (cons 2 3)) ((0 . 1) 2 . 3) このようなことができるのは、Scheme が全てのデータをアドレスで管理しているからです。 ちなみに #\c は c という文字を表します。 例えば #\a は a という文字を表します。 2.2. リスト 一番最後のコンスセルの cdr 部が '() になった一連のコンスセルをリストと呼び