pair と リスト構造 (1/5)


pair とは?

ここでは、リスト構造の基本構成要素となる pair (cons cell) について説明します。 pair によって構成されるデータ構造を一般にリスト構造といい、 先ほどのリストもリスト構造の一つです。

以下で、説明する cons, car, cdr というのは、 前にリストのところで使ったものの事です。

pair というのは、二つの値の組の事です。 cons という constructor (生成関数) によって作られます。 (cons a b) は、 a car field に、 b cdr field にもつ組(二つ組: pair)を作ります。 また、二つの組の各々にアクセスするため car, cdr を用います(参考情報) car,cdr は、それぞれpair の car,cdr filed を返します。

但し、以下の 3 行は MzScheme Mode でないと動きません。 これは、Beginner Mode などでは、リスト以外のリスト構造を許していないからです。

> (cons 3 4)
(3 . 4)
> (car (cons 3 4))
3
> (cdr (cons 3 4))
4
list の時同様、car,cdr の要素はどのようなものでも構いません。

99.10.6/ Tomio KAMADA: kamada@cs.kobe-u.ac.jp