【发布时间】:2014-09-06 12:18:52
【问题描述】:
我很困惑为什么下面的代码在我调用lazy-seq 时会进入无限循环并且不返回惰性序列:
(= (take 5 ((fn [func se]
(lazy-seq
(reduce (fn [acc item]
(conj acc (func (last acc) item)))
[(first se)] (rest se))))
+
(range)))
[0 1 3 6 10])
repl 只是随着 range 被无限调用而旋转。
我怎样才能让这个函数表现得惰性?
【问题讨论】:
标签: clojure