我想變換順序如下:在clojure中分組一個bools序列?
(def boollist [true false false false true false true])
爲以下:
[[true] [false false false true] [false true]]
我的代碼將導致出現StackOverflow:
(defn sep [boollst]
(loop [lst boollst
separated [[]]
[left right] (take 2 lst)]
(if (nil? left) separated)
(recur (next lst)
(if (false? left)
(conj (last separated) left)
(conj separated [left]))
(take 2 (next lst)))))
是否有轉變的一種優雅的方式這個?
非常感謝您的回答;我非常喜歡它,它的作用就像一個魅力,但我將改變接受的答案,以另一個非常優雅的解決方案。再次感謝(和+1)。 – aeter 2011-03-27 20:59:23