这有效:
(defn tri*
([] (tri* 0 1))
([sum n]
(let [new-sum (+ sum n)]
(cons new-sum (lazy-seq (tri* new-sum (+ n 1)))))))
Run Code Online (Sandbox Code Playgroud)
但当我使用recur它时,我得到一个CompilerException:
不匹配的参数计数重复,预期0参数,得到:2
(defn tri*
([] (tri* 0 1))
([sum n]
(let [new-sum (+ sum n)]
(cons new-sum (lazy-seq (recur new-sum (+ n 1)))))))
Run Code Online (Sandbox Code Playgroud) clojure ×1