如何在Clojure中编写Ruby的each_cons?

前端之家收集整理的这篇文章主要介绍了如何在Clojure中编写Ruby的each_cons?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在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))

猜你在找的Ruby相关文章