MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Difference between ; and , in for loop


On Nov 18, 1:03 pm, graser <gra... at> wrote:
> Would anyone explain me the difference between ; and , in conditional
> loop like for loop?
> For example,
> 1) For[i = 1, i < 2, i++; Print[i]]
> Answer is 2
> But
> 2)  For[i = 1, i < 2, i++, Print[i]]
> The Answer is 1
> Why does first loop get  2 instead of 1?

Please read the documentation of For (in the help browser).

; suppresses output of a. Consequently, a can only act by changing a
variable or printing (side effect).

For is supposed to take 3 or 4 arguments.
"For[start,test,incr] does the loop with a null body. "

Although For exists in Mathematica, you should not use it because is
it complicated (as shown by your question) and slow.  Instead you
should use Map or, if you need an index, MapIndexed, which eliminate
the variable i and all the problems you can have with it.

Moreover, you should use output (not printout) for your results, so
that you can apply another function on top of it easily and cleanly.

  • Prev by Date: Re: Difference between ; and , in for loop
  • Next by Date: Re: Mathematica 8 "natural language" capabilities
  • Previous by thread: Re: Difference between ; and , in for loop
  • Next by thread: Cell Convert to