Re: shortcut for for comprehension

2009-04-21 Thread Christopher Taylor
On 21.04.2009, at 00:19, Michael Hunger wrote: Is it possible to use :while to shortcut a for macro when a certain number of yiels have happened? e.g. (for [x (range 1000) :when (= (rem x) 1) :while (number of yields = 10)] so i want only the first 10 results. you could: (def zip

Re: shortcut for for comprehension

2009-04-21 Thread Alvaro Vilanova Vidal
I am a newbie, but seems that for comprehension are lazy lists: user (take 5 (for [x (range 20) :when (do (printf *%d* x) (= (rem x 2) 1))] x)) (*0* *1* *2* *3* 1 *4* *5* 3 *6* *7* 5 *8* *9* 7 9) So, I think that you should use take :) 2009/4/21 Michael Hunger cloj...@jexp.de Is it

Re: shortcut for for comprehension

2009-04-21 Thread David Sletten
On Apr 20, 2009, at 12:19 PM, Michael Hunger wrote: Is it possible to use :while to shortcut a for macro when a certain number of yiels have happened? e.g. (for [x (range 1000) :when (= (rem x) 1) :while (number of yields = 10)] so i want only the first 10 results. Is it possible?

shortcut for for comprehension

2009-04-20 Thread Michael Hunger
Is it possible to use :while to shortcut a for macro when a certain number of yiels have happened? e.g. (for [x (range 1000) :when (= (rem x) 1) :while (number of yields = 10)] so i want only the first 10 results. Or should I just use (take 10 ) on the for ? Michael

Re: shortcut for for comprehension

2009-04-20 Thread Timothy Pratley
As far as I know the number of yields is not available for testing, so you have to use take user= (take 10 (for [x (range 1000) :when (= (rem x 2) 1)] x)) (1 3 5 7 9 11 13 15 17 19) On Apr 21, 8:19 am, Michael Hunger cloj...@jexp.de wrote: Is it possible to use :while to shortcut a for macro