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

Reply via email to