如何在Clojure中重写这个
Ruby代码?
seq = [1,2,3,4,5].each_cons(2) #=> lazy Enumerable of pairs seq.to_a => [[1,2],[2,3],[3,4],[4,5]]
Clojure的:
(??? 2 [1 2 3 4 5]) ;=> lazy seq of [1 2] [2 3] [3 4] [4 5]
解决方法
您要求的是懒惰序列中的
sliding window.这样您就可以实现这一目标
user=> (partition 2 1 [1 2 3 4 5]) ((1 2) (2 3) (3 4) (4 5))