当然,
(defn is_prime [num]
(letfn [(helper [i]
(cond
(> i (Math/sqrt num)) true
(:= 0 (rem num i)) false
否则 ( recur (inc i))))]
(辅助函数 2)))
返回一个惰性序列,每个后续元素都经过谓词过滤
(defn 惰性序列过滤 [谓词 序列]
(cond (= 序列 nil) nil
(谓词 (first 序列))
(cons (first 序列) (lazy-seq (惰性序列过滤 谓词
(rest 序列))))
否则 (惰性序列过滤 谓词 (rest 序列))))
(defn 自然数生成 []
(letfn [(辅助函数 [n]
(cons n (lazy-seq (辅助函数 (inc n)))))]
(辅助函数 1))
)
(def 自然数 (自然数生成))