[racket] Strange behaviour with in-range
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