by shigemk2

当面は技術的なことしか書かない

リスト遊び 3-5 andとor

前回
リスト遊び 3-4 整数の比較 - by shigemk2
condを使わずコードを省略するときの要。

(defun Listp (x)
  (or (null x) (consp x)))
=> Listp
(Listp 5)
nil
(Listp '(1 2))
=>t
(Listp nil)
=>t
(Listp 'hoge)
=>nil
(Listp '(1 2 3))
=>t
(Listp '(1 2 3 4 nil))
=>t

(defun leap (n)
  (cond
   ((and (= (% n 4) 0)
	 (or (= (% n 400) 0)
	     (/= (% n 100) 0)))
    t)
   (t nil)))
=>leap
(leap 1)
=>nil
(leap 4000)
=>t
(leap -4000)
=>t

(defun leap (n)
   (and (= (% n 4) 0)
	(or (= (% n 400) 0)
	     (/= (% n 100) 0))))
=> leap
(leap 1)
=>nil
(leap 4000)
=>t
(leap -4000)
t

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)