Ahh, got it. Thank you Andreas. On Sun, Mar 20, 2011 at 6:55 PM, Andreas Kostler < andreas.koestler.le...@gmail.com> wrote:
> Hi Brett, > A :while clause continues the evaluation ONLY while it's expression is true > > (for [x (range 10) y (range 10) :while (< x y)] [x y]) will terminate as > soon as (< x y) is false. Since (< 0 0) is the first expr to evaluate, > evaluation stops right there. > > What you want is > (for [x (range 10) y (range 10) :when (< x y)] [x y]) > > Cheers > Andreas > > what you want is for ... :when > On 21/03/2011, at 11:43 AM, Brett Morgan wrote: > > Hey all, > > I'm not understanding why the following examples don't line up. In my mind > they should be identical. What am i not getting? > > (user=> (filter (fn [[x y]] (< x y)) (for [x (range 10) y (range 10)] [x > y])) > ([0 1] [0 2] [0 3] [0 4] [0 5] [0 6] [0 7] [0 8] [0 9] [1 2] [1 3] [1 4] [1 > 5] [1 6] [1 7] [1 8] [1 9] [2 3] [2 4] [2 5] [2 6] [2 7] [2 8] [2 9] [3 4] > [3 5] [3 6] [3 7] [3 8] [3 9] [4 5] [4 6] [4 7] [4 8] [4 9] [5 6] [5 7] [5 > 8] [5 9] [6 7] [6 8] [6 9] [7 8] [7 9] [8 9]) > user=> (for [x (range 10) y (range 10) :while (< x y)] [x y]) > () > > user=> (filter (fn [[x y]] (> x y)) (for [x (range 10) y (range 10)] [x > y])) > ([1 0] [2 0] [2 1] [3 0] [3 1] [3 2] [4 0] [4 1] [4 2] [4 3] [5 0] [5 1] [5 > 2] [5 3] [5 4] [6 0] [6 1] [6 2] [6 3] [6 4] [6 5] [7 0] [7 1] [7 2] [7 3] > [7 4] [7 5] [7 6] [8 0] [8 1] [8 2] [8 3] [8 4] [8 5] [8 6] [8 7] [9 0] [9 > 1] [9 2] [9 3] [9 4] [9 5] [9 6] [9 7] [9 8]) > user=> (for [x (range 10) y (range 10) :while (> x y)] [x y]) > ([1 0] [2 0] [2 1] [3 0] [3 1] [3 2] [4 0] [4 1] [4 2] [4 3] [5 0] [5 1] [5 > 2] [5 3] [5 4] [6 0] [6 1] [6 2] [6 3] [6 4] [6 5] [7 0] [7 1] [7 2] [7 3] > [7 4] [7 5] [7 6] [8 0] [8 1] [8 2] [8 3] [8 4] [8 5] [8 6] [8 7] [9 0] [9 > 1] [9 2] [9 3] [9 4] [9 5] [9 6] [9 7] [9 8]) > user=> > > -- > 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 > > > -- > "Test-driven Dentistry (TDD!) - Not everything should be test driven" > - Michael Fogus > -- > ********************************************************** > Andreas Koestler, Software Engineer > Leica Geosystems Pty Ltd > 270 Gladstone Road, Dutton Park QLD 4102 > Main: +61 7 3891 9772 Direct: +61 7 3117 8808 > Fax: +61 7 3891 9336 > Email: andreas.koest...@leica-geosystems.com > > ************www.leica-geosystems.com************* > > when it has to be right, Leica Geosystems > > Please consider the environment before printing this email. > > -- > 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 -- 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