小编use*_*181的帖子

不能在多元Clojure函数中使用recur

这有效:

(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

0
推荐指数
1
解决办法
192
查看次数

标签 统计

clojure ×1