リスト遊び #1

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)


リスト遊びという本を買ったのでチビチビ読み進めていこうと思っています。


まずは階乗

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


Lisp Interactionモードで対話的に評価していきます。
式の直後で C - jとすると直前の式を評価してバッファに挿入します
今回は ;; が挿入された結果にしています。

(defun factorial (n)
  (cond
    ((zerop n) 1)
    (t (* n (factorial (1- n))))))  ; C-j
;; factorial
(factorial 5) ; C-j
;; 120


f(5) = 1 * 2 * 3 * 4 * 5 = 120 となります。


Emacsで書いているから対応する括弧について分かりやすいけど
直接書くのは面倒くさいな…