ドット ペアのリストには、必ず 2 つのメンバーを格納する必要があります。ドット ペアは、AutoLISP が図形定義データを管理するために使用するメソッドです。
ドット ペアを表すとき、リストのメンバーはピリオド( . )で区切ります。リスト処理関数のほとんどには、引数としてドット ペアを指定できないので、正しい種類のリストを関数に渡すよう注意しなければなりません。
ドット ペアは、「不適切なリスト」の例です。不適切なリストとは、最後の cdr が nil でないリストです。cons 関数は、項目をリストの先頭に追加するだけでなく、ドット ペアを作成することもできます。cons 関数は、2 番目の引数が別のリストや nil 以外の場合、ドット ペアを作成します。
(setq sublist (cons 'lyr "WALLS")) (LYR . "WALLS")
次の関数は、ドット ペアの処理に便利です。
次のコードで、ドット ペアの連想リストを作成します。
(setq wallinfo (list sublist (cons 'len 240.0) (cons 'hgt 96.0))) ((LYR . "WALLS") (LEN . 240.0) (HGT . 96.0))
assoc 関数は、連想リスト内のリストの順序に関係なく、連想リストから指定のリストを抽出し、それを返します。assoc 関数は、リストで指定されたキー要素を検索し、次のように、最初のインスタンスを返します。
(assoc 'len wallinfo) (LEN . 240.0) (cdr (assoc 'lyr wallinfo)) "WALLS" (nth 1 wallinfo) (LEN . 240.0) (car (nth 1 wallinfo)) LEN