Cons (Lisp)
cons 自体は単に、データの順序対を保持することができるだけだが、しばしばリストや二分木などの複雑なデータ構造を保持するためにも使われる。
例えば、Lisp の式、(cons 1 2) は、左側(car部)に1 、右側(cdr部)に2 を持ったcons セルを作る。Lisp の表記では、(cons 1 2) の値は次のようになる:
1 と2 の間に. があるのに注意。これはこのS式が、「リスト」ではなく「ドット対」であることを示している。
葉の部分にのみ値を持つデータ構造である二分木もまた、cons によって容易に作ることができる。例えば、以下のコードは
以下のような結果になる。
これはつまり、以下のような図で表すことができる:
正確には、先ほどの例に出てきた(1 2 3) というリストもまた二分木である。それは、先ほどの図を少し変形することで容易にわかる:
これは、以下の図と同様である。