by shigemk2

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

リスト遊び 7-1 ローカル変数

前回
リスト遊び 6-4 より抽象的に - by shigemk2

Lispでは、ローカル変数の宣言と初期化に、letという特殊関数を使う。
letの書式は以下の通り。
letの第一引数は、ローカル変数のリストである。
残りの引数が本体であり、ローカル変数の有効な範囲となる。
let で最後に評価した式の値を返す。

(let ((変数1 値1) (変数2 値2) 変数3 変数4)
  式1
  式2
  ...
  )
(defun make-list2(x y)
  (let (ret)
    (setq ret (cons y ret))
    (setq ret (cons x ret))
    ret))
make-list2
(make-list2 5 7)
(5 7)

(defun sum2 (n1 n2)
  (let ((ret 0))
    (setq ret (+ ret n1))
    (setq ret (+ ret n2))
    ret))
sum2
(sum2 5 7)
12

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

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