条件判断(cond マクロ) - lisp-cookbook-ja/common-lisp GitHub Wiki
他の言語でいう if-then-else に相当する機能です。
(cond (条件式1
処理1
処理2 ...)
(条件式2
処理3 ...))
条件式が先頭から順に評価され、真(NIL以外)のとき続く処理が評価されます。
ifと違い処理1、処理2...と続けることができて、最後の式の値がcondの値として返ります。
どの条件式も真にならなかった場合NILが返ります。途中の条件式が真になった場合、以降に書かれた条件式は評価されません。
条件式のところにtと書く事で、いづれの条件も真にならなかった場合の処理(else相当)を書くのが習慣です。