ほんとのこと知りたいだけなのに。

夏休みはもうおわり。

Emacs Lisp のリスト操作オペレータの一覧

Common lisp をやっていると Emacs Lisp が結構つらい。

なぜならオペレータが微妙に一緒で微妙に違うからだ。
これがなかなか覚えられなくて毎度こまる。

本日はリスト操作にストレスを感じたので一覧にしてみた。 一覧は 5. リスト から抜粋した。

リスト操作オペレータの一覧

5.3 リスト向け述語

type operator
Function consp object
Function atom object
Function listp object
Function nlistp object
Function null object

5.4 リストの要素の参照

type operator
Function car cons-cell
Function cdr cons-cell
Function car-safe object
Function cdr-safe object
Function nth n list
Function nthcdr n list
Function safe-length list
Function caar cons-cell
Function cadr cons-cell
Function cdar cons-cell
Function cddr cons-cell

5.5 コンスセルとリストの構築

type operator
Function cons object1 object2
Function list &rest objects
Function make-list length object
Function append &rest sequences
Function reverse list

5.6 既存のリスト構造の修正

5.6.1 setcarによるリスト要素の変更

type operator
Function setcar cons object
Function setcdr cons object

5.6.3 リストの順序を変更する関数

type operator
Function nconc &rest lists
Function nreverse list
Function sort list predicate

5.7 集合としてのリストの利用

type operator
Function memq object list
Function delq object list
Function member object list
Function delete object list

5.8 連想リスト

type operator
Function assoc key alist
Function rassoc value alist
Function assq key alist
Function rassq value alist
Function assoc-default key alist test default
Function copy-alist alist

おわり

Common Lisp のオペレータが使えるようになるライブラリもあるけどバージョンアップや我田引水的なものに付き合うのは莫迦らしいので使わない。

Emacs Lisp が使えるようになれば良いのだと思う。

が、道は長いね。。。