There is separate in seq_utils in contrib. On Sat, Mar 7, 2009 at 11:29 PM, David Sletten <da...@bosatsu.net> wrote:
> > I'm reading the Sequences chapter of Programming Clojure, and Stu > points out that split-with combines the semantics of take-while and > drop-while. But is there a function that does something similar with > "filter"? Namely, rather than simply filtering the elements of a > collection that satisfy a predicate I also want to capture those that > don't. Something like this: > (defn filter-split [pred coll] > (loop [trues '() falses '() coll coll] > (cond (empty? coll) > (vector (reverse trues) (reverse falses)) > (pred (first coll)) > (recur (cons (first coll) trues) falses (rest coll)) > :else > (recur trues (cons (first coll) falses) (rest coll))))) > > (filter-split #{\a\e\i\o\u} "is this not pung?") => [(\i \i \o \u) > (\s \space \t \h \s \space \n \t \space \p \n \g \?)] > (filter-split even? (range 10)) => [(0 2 4 6 8) (1 3 5 7 9)] > > Aloha, > David Sletten > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---