[racket] Strange behaviour with in-range

From: Vincent St-Amour (stamourv at ccs.neu.edu)
Date: Fri Dec 30 17:58:23 EST 2011

Also, if you want nested iteration, use `for*'.

Vincent


At Fri, 30 Dec 2011 17:55:12 -0500,
Nadeem Abdul Hamid wrote:
> 
> The for form iterates by drawing an element from each sequence; if any
> sequence is empty, then the iteration stops. So this:
> 
> (for ([i (in-range 2 4)]
>        [j (in-range 1 2)])
>  (printf "i = ~s   j = ~s\n" i j))
> 
> produces
> 
> i = 2   j = 1
> 
> at which point, the j sequence is now empty, so the entire iteration stops.
> 
> --- nadeem
> 
> 
> On Fri, Dec 30, 2011 at 5:49 PM, Charles Turner <chturne at gmail.com> wrote:
> > I'm noticing some unexpected behaviour with in-range:
> >
> >> (for ([i (in-range 2 4)])
> >  (printf "i = ~s\n" i))
> > i = 2
> > i = 3
> >
> > that works as expected, but:
> >
> >> (for ([i (in-range 2 4)]
> >        [j (in-range 1 2)])
> >  (printf "i = ~s\n" i))
> > i = 2
> >
> > why isn't '3' being picked up in the second example?
> >
> > Thanks,
> >       Charles.
> > ____________________
> >  Racket Users list:
> >  http://lists.racket-lang.org/users
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users



Posted on the users mailing list.