Lispの場合
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/24 18:54 UTC 版)
(伝統的な)Lispの場合、基本的には線型リストを作るためのデータ構造であるコンスセル(cons cell)を、要素2個のタプル(二ツ組)に流用する。cons, car, cdr というリスト操作用の関数もそのまま流用される。格納するデータの型に制限はない。 (cons car部のデータ cdrのデータ) car部のデータを取り出すには関数 car を使い、cdr部のデータを取り出すには関数 cdr を使う。 (setq x (cons 'A 1)) (setq a (car x)) ; a には 'A が入る (setq b (cdr x)) ; b には 1 が入る また、 (list データ1 データ2 データ3 … データN) という関数呼び出しは、 (cons データ1 (cons データ2 (cons データ3 … (cons データN nil) … ))) という形、すなわち、car部にデータがあり、cdr部が後続のコンスセルになっており、最後のcdr部分を nil という特殊な記号で終端させた二分木を返す。このような形式の二分木は「ちゃんとした」リストになっていると言えることから、「(プロパー)リスト」などという。
※この「Lispの場合」の解説は、「タプル」の解説の一部です。
「Lispの場合」を含む「タプル」の記事については、「タプル」の概要を参照ください。
- Lispの場合のページへのリンク