【发布时间】:2016-07-25 11:42:33
【问题描述】:
我有一个简单的任意元素序列,我想将其减少为 2 到 2。
为了做到这一点,我用数据生成对,但是我这样做的方式是错误的,因为我需要调用一个生成数据的函数两次:
(defn gen-pairs [l]
(partition 2 (drop 1 (take l (interleave (gen-data) (gen-data))))))
如何避免两次调用gen-data(gen-data 懒惰地返回一系列项目,例如range)?
【问题讨论】:
-
一种方法是编写您自己的
interleave版本,将gen-data函数作为其参数。
标签: clojure clojurescript