条件判断(cond マクロ) - lisp-cookbook-ja/common-lisp GitHub Wiki

制御構造

条件判断(cond :マクロ)

他の言語でいう if-then-else に相当する機能です。

(cond (条件式1
       処理1
       処理2 ...)
      (条件式2
       処理3 ...))

条件式が先頭から順に評価され、真(NIL以外)のとき続く処理が評価されます。

ifと違い処理1、処理2...と続けることができて、最後の式の値がcondの値として返ります。

どの条件式も真にならなかった場合NILが返ります。途中の条件式が真になった場合、以降に書かれた条件式は評価されません。

条件式のところにtと書く事で、いづれの条件も真にならなかった場合の処理(else相当)を書くのが習慣です。

⚠️ **GitHub.com Fallback** ⚠️