condでif-elseif-elseなロジックをスッキリ書き下す事が出来ます。
というか、lisp文化ではcondを使うのが一般的なようです。
第一引数に評価式、第二に実行内容,,,と書いて行きます。
(progn (setq i t) (cond ((stringp i) 'string) ((integerp i) 'number) (t 'no-match)) )
みんな大好き再帰処理でも大活躍です
(defun triangle-using-cond (number) (cond ((<= number 0) 0) ((= number 1) 1) ((> number 1) (+ number (triangle-using-cond (1- number)))))) (triangle-using-cond 100) 5050