Clojure では nil と空リストは同じではない。
(= nil '()) => false
よって、再帰の停止条件などでは空リストか否かを返す述語 empty? を使う。
(defn sum [lst]
(if (empty? lst)
0
(+ (first lst) (sum (rest lst)))))
bugyoのlog。決してblogではない。
Clojure では nil と空リストは同じではない。
(= nil '()) => false
よって、再帰の停止条件などでは空リストか否かを返す述語 empty? を使う。
(defn sum [lst]
(if (empty? lst)
0
(+ (first lst) (sum (rest lst)))))