The docs could use clarification, but it looks like take-nth is doing what's advertised.
Is there ever a case (I can't think of one) where a programmer really wants to feed this function a non-positive n? That is, should take-nth crap out if (< n 1)? --josh On Oct 27, 5:26 pm, Timothy Pratley <timothyprat...@gmail.com> wrote: > Oh that is confusing! > nth indexes from 0 where-as take-nth indexes from 1. > The doc string could be considered misleading, as it says that take- > nth makes a sequence of "nth" items, but clearly it does not: > clojure.core/take-nth > ([n coll]) > Returns a lazy seq of every nth item in coll. > > user=> (take-nth 1 [1 2 3 4]) > (1 2 3 4) > user=> (nth [1 2 3 4] 1) > 2 > > On Oct 28, 7:36 am, alxtoth <alexandru.t...@gmail.com> wrote: > > > > > Hi, > > > Started tinkering with Clojure, and wonderring why (take-nth 0 (range > > 10)) returns an infinite sequence .. Is this really the expected > > behaviour? > > > ; > > ;code bellow is public domain > > ; > > (defn take-nth-proposal > > "Returns a lazy seq of every nth item in coll . Or nil if n less > > than 1." > > [n coll] > > (if (< n 1) > > nil > > (lazy-seq > > (when-let [s (seq coll)] > > (cons (first s) (take-nth n (drop n s))))))) > > > -Cheers, Alex --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---