cond

Title
cond
Type
Macro
Arguments
cond &rest FORMS
Package
lisp
Section
制御構造
File
evalmacs.l
C 言語などの if ... else if ... のようなものです。

構文は以下のようになっています。

(cond (<テスト1> <式>〜<式>)
      (<テスト2> <式>〜<式>)
        ...
      (<テストn> <式>〜<式>))

テストが真になる最初の節の式を評価します。
上の式は次と等価です。

(if <テスト1>
     (progn <式>〜<式>)
   (if <テスト2>
        (progn <式>〜<式>)
      ...
      (if <テストn>
	   (progn <式>〜<式>)
	 nil)))

テストに t を指定するとデフォルトで実行される節を指定できます。

また特別な場合として、テストの後ろの式がない場合にはテストの結果が戻り値
となります。
Seealso
if