📝Emacs Lisp

📝Emacs Lisp

Emacsで使われているLisp方言. elispと省略されることも多い.

Emacs Syntax #

変数と定数 #

Emacs Lispは 動的スコープ を採用しておりどこでも値を参照と変更ができる.

setq で変数を宣言する. defconst というシンタックスもあるがこれは可読性だけのもので実際は変更できるとか.

ref. Constant Variables (GNU Emacs Lisp Reference Manual)

List操作 #

append #

リストを結合.

(setq test-list
      (append test-list '("baz")))
;=> ("foo" "bar" "baz")

2つのリストを結合した新しいリストを返すのでそれを変数にbindする.

add-to-list #

リストの先頭に要素を追加. すでに要素があるときは置き換える.

そのためappendよりもデバッグがしやすいので設定はこっちがいい.

一方ひとつの要素しかリストに追加できない.