【发布时间】:2017-05-01 03:42:58
【问题描述】:
我不知道为什么这个惰性序列没有打印出来。我看过这里的其他帖子(例如this),但似乎没有一个正是我想要的。这是代码段...
(defn exp [x n]
(reduce * (repeat n x))
)
(defn primes
([] (primes 1 1))
([n m] (if (= n 1) (lazy-seq (cons (* (exp 7 n) (exp 11 m)) (primes (+ m 1) (1))))
(lazy-seq (cons (* (exp 7 n) (exp 11 m)) (primes (- n 1) (+ m 1)))))
)
)
(take 4 (primes))
非常感谢任何帮助。谢谢!
【问题讨论】:
-
你在任何地方都没有
print,所以它没有被打印出来。 -
因为它很懒! ;)
-
(1)是一个错误。您并不是要将 1 作为函数调用。 -
你想打印什么?
标签: clojure lazy-sequences cons take