Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

condでif-elseif-elseなロジックをスッキリ書く

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