(is-leap? 2004) から true が得られる過程 (1/3)
(is-leap? 2004)
= (cond
[(or (= (remainder 2004 400) 0)
(and (not (= (remainder 2004 100) 0))
(= (remainder 2004 4) 0))) true]
[else false]))
= (cond
[(or (= 4 0)
(and (not (= (remainder 2004 100) 0))
(= (remainder 2004 4) 0))) true]
[else false]))
= (cond
[(or false
(and (not (= (remainder 2004 100) 0))
(= (remainder 2004 4) 0))) true]
[else false]))
最初の式
コンピュータ内部での計算
(cond
[(or (= (remainder year 400) 0)
(and (not (= (remainder year 100) 0))
(= (remainder year 4) 0))) true]
[else false])
にyear = 2004 が代入される
(remainder 2004 400) → 4
(= 4 0) → false
62