当然,
(defn is_prime [num]
(letfn [(helper [i]
(cond
(> i (Math/sqrt num)) true
(= 0 (rem num i)) false
:else (recur (inc i))))]
(helper 2)))
返回一个懒序列,序列的每个后续元素都通过谓词进行过滤
(defn filter-lazy-seq [predicate sequence]
(如果 sequence 为 nil,则返回 nil
(断言 (sequence 的第一个元素)
(将 sequence 的第一个元素与经过断言的序列连接起来
(余下的 sequence 继续传递给断言函数,直到 sequence 继续运行,展示所有断言语句)
:else (继续传递 sequence 给断言函数并继续运行余下的 sequence)
(定义函数 natural-gen []
(定义内嵌函数 (helper [n]
(将 n 与递归调用 helper2 的结果连接起来)
(从 1 开始调用 helper 函数)
)
(将 natural-gen 函数的返回结果定义为对象)