cond
複数の条件分岐を書ける。
if / elsif / else のようなイメージ。
- 最後の分岐の条件には
t
を置くのが定石らしい。
CL-USER>
(defun cond-symbol (x)
(cond ((eq x 'a) `(symbol is a.))
((eq x 'b) `(symbol is b.))
(t '(other symbol))))
COND-SYMBOL
CL-USER> (cond-symbol 'a)
(SYMBOL IS A.)
CL-USER> (cond-symbol 'b)
(SYMBOL IS B.)
CL-USER> (cond-symbol 'c)
(OTHER SYMBOL)
参考
- Land of Lisp https://www.oreilly.co.jp/books/9784873115870/