On Dec 2, 12:02 pm, Chouser <chou...@gmail.com> wrote: > On Wed, Dec 2, 2009 at 2:06 PM, ataggart <alex.tagg...@gmail.com> wrote: > > > On Dec 2, 9:10 am, Konrad Kułakowski (kony) <kulakow...@gmail.com> > > wrote: > >> Recently I need something which works as "inverse of interleave" > > > How about this? > > > (defn skip [coll n] > > (lazy-seq > > (when-let [s (seq coll)] > > (cons (first s) (skip (drop n (next s)) n))))) > > > (defn unravel [coll n] > > (for [i (range n)] > > (skip (drop i coll) (dec n)))) > > Not bad. Your unravel takes an n, which is needed because > interleave accepts any number of collections, not just two. Your > 'skip' is a lot like take-nth. Here's what I had: > > (defn unravel [n coll] > (map #(take-nth n (drop % coll)) (range n))) > > --Chouser
Ah, I forgot about take-nth. -- 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 Note that posts from new members are moderated - please be patient with your first post. 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