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

Reply via email to