Emacs Lisp ≡ S式の集合 S式(フォーム)を評価(プログラムの実行)することで動作する
S式はアトム(atom)とリスト(list)によって構成される
整数型と浮動小数点型がある。整数型の範囲は -268435456 〜 268435455(-2^28 〜 2^28 -1)
" で囲む。
例)"abc"
\は特別な意味を持っている
ASCIIに無い文字(=;:など)の場合、[]で囲む
(global-set-key [?\C-;] 'dabbrev-expand)
シンボル ≡ 一意的な名前 シンボルに値をセットすることで変数にすることができる。
例)abc,find-file,1+,\
※t(真),nil(偽)は値をセットすることはできない。
コンスセル ≡ S式のペア、(要素(car).要素(cdr)) i.e. 要素の間にドットを付けて、()で囲んで表記
例)(1.3)
コンスセルの要素car,cdrに参照をつけたもの
例) (1.(2.(3.nil))) ⇔ (1 2 3)
※cdr が nil なコンスセルは1要素のリスト i.e. (1.nil) ⇔ (1)
Emacs内のLispインタープリタに指令する場合、C-x C-eとタイプすることでリストを評価する。
例) (+ 2 2) カーソルをリストの後ろに位置し、C-x C-e エコー領域内に 4 と出る
リストの直前に付けた1つのアポストロフィ「'」をクオート(quote)と呼ぶ。 そのリストに対して評価を行わず、字面通りに扱うことを意味する。
例) '(this is a quoted list) 評価すると (this is a quoted list) と表示される。
他の言語:関数名(引数1,引数2...) Lisp:(関数名 引数1 引数2...)
中置記法 | 前置記法 |
1 + 2*3 | (+ 1 (* 2 3)) |
1*2 + 3 | (+ (* 1 2) 3) |
参考文献