On 27 July 2011 00:03, axyzxp <axy...@gmail.com> wrote: > Hi, > experimenting with clojure API i had this: > > user=> (take-while #(= (mod 20 %) 0) (apply (fn [x y] (rest (range > (max x y)))) [10 20])) > (1 2) > > but i expect to have (1 2 5 10) because of (apply (fn [x y] (rest > (range (max x y)))) [10 20]) returns (1 2 3 4 5 6 7 8 9 10 11 12 13 14 > 15 16 17 18 19) and (mod 20 5) and (mod 20 10) should give me true and > not should be dropped... > > I'm sure i'm doing some big nasty errors but don't know where...
In addition to the other answers, you can use: (range 1 20) instead of: (rest (range 20)) and zero? instead of (= x 0). e.g.: (filter #(zero? (mod 20 %)) (range 1 (apply max [10 20]))) -- Michael Wood <esiot...@gmail.com> -- 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