Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; Takes a number of sequentially equal elements in a list
- ;; like (filter-test '(1 1 2 2 3 4)' 2
- ;; returns 1 1 2 2
- (defn filter-test
- ""
- [unfiltered-in count-in]
- (loop [count count-in filtered [] unfiltered unfiltered-in]
- (if (= count 0)
- filtered
- (if-let [next-unfiltered (fnext unfiltered)]
- (let [ cur-unfiltered (first unfiltered)]
- (if (= next-unfiltered cur-unfiltered)
- (recur (dec count) (conj filtered cur-unfiltered next-unfiltered) (rest unfiltered))
- (recur count filtered (rest unfiltered))))
- filtered
- )
- )
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement