指定された数値 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)))))))
また、x で割ったインデックスの係数がゼロの場合にシーケンスを分割するために使用できると考えて、split-with 関数も調べましたが、これでうまくいきませんでした。
どんな助けでも大歓迎です。
デビッド。