by shigemk2

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

省略可能な引数を利用した関数を定義する

;; aは必須引数で、bとcは省略可能関数(&optionalをつける)
(defun optional-arg (a &optional b c)
  (setq c (or c 20))			; デフォルト引数もどき
  (list a b c))
(optional-arg 1)			; => (1 nil 20)
(optional-arg 1 2)			; => (1 2 20)
(optional-arg 1 2 3)			; => (1 2 3)
(optional-arg 1 2 3 4)			; => エラー
(setq 変数 (or 変数 値))
返り値: 変数の値

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル