我正在研究一个函数,它将日期序列(或其他任何内容)拆分为基于给定数字 x 的向量中包含的多个序列。
(date1 date2 date3 date4 date5 date6 date7)
所以给定上面的日期列表并传入变量 2 它将产生下面的向量。
[(date1 date2) (date3 date4) (date5 date6) (date7)]
我到目前为止的代码如下,但它返回的只是一个包含 nil 的向量。
(defn date-splitter [date-count dates x]
(loop [i date-count, current-split dates, split-dates (vector)]
(if (<= i x)
(conj split-dates (get current-split 1))
(let [s (split-at x current-split)]
(recur (int (- i x)) (get s 1) (conj split-dates (get s 0)))))))
我还查看了 split-with 函数,认为当索引除以 x 的模数为零时,我可以使用它来拆分序列,但我对此没有任何运气。
任何帮助将不胜感激。
大卫。