by shigemk2

当面は技術的なことしか書かない

リスト遊び 1-2 Lots of Irritating Superfluous/Stupid Parentheses

factorial.elファイル
(階乗を計算するEmacs Lispファイル)

(defun factorial (n)
  (cond
    ((zerop n) 1)
    (t (* n (factorial (1- n))))))

当然のことならが、emacs lispモードが発動する。
タブの補完や、関数の補完が使えるようになる。
M-tabで、関数や変数の補完が出来る。

書いただけでなく、評価しないといけない。
関数の最後の部分にカーソルを合わせてC-x C-eを実行すると、
関数を評価できる。

関数を評価したら、ミニバッファで評価できる。

Eval: (factorial 5)

みたいな。

結果は

120

ですな。

なお、

(defun factorial (n)
  (cond
    ((zerop n) 1)
    (t (* n (factorial (1- n))))))
(factorial 5) ;;こういう風に書いても評価されたら結果120が返るし、
;; (factorial 5) ;; コメントアウトした部分を評価してもちゃんと結果が返る


M-x eval-region
や、
M-x eval-current-bufferで
一括評価も可能。

Lisp Interactionモード
対話的なLisp用のモード。

scratchバッファでemacs lispを書き、
C-jemacs lispを評価すると、
結果がそのままscratchバッファに挿入される。

scratchバッファでemacs lispを落書きしまくって、
気に入ったプログラムをファイルに保存するようにする。