MathGroup Archive 2010

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

Search the Archive

Re: local variables - Module, For loop

f[x_] := Module[{i}, For[i = 0, i != x, i++, Print[i]]]


Don't use a For loop and you won't need the "throw-away-variable"

f[x_] := Print /@ Range[0, x - 1]


Print is often unnecessary. If you want to display the results in a column, use Column

f[x_] := Range[0, x - 1]

f[5] // Column

Bob Hanlon

---- Sebastian Schmitt <sschmitt at> wrote: 

Dear all!

(I recycle my disclaimer.)

I'm new to Mathematica with a background mostly in C++. Many times I
have the impression that my style is not natural-Mathematica
(Mathematicaesque so to say).

If I have a For loop in a function like this:

In[39]:= f[x_] := Module[{},
  For[i = 0, i != x, i++,

In[41]:= f[2]

During evaluation of In[41]:= 0

During evaluation of In[41]:= 1

In[42]:= i

Out[42]= 2

I was surprised to find "i" being not local to the For loop. Do I have
to keep track of all my throw-away-variables and put them in the list of
local variables of the Module? I find it pretty tedious. Is there a
better way?

Thanks in advance,


  • Prev by Date: Re: List to infix
  • Next by Date: Re: Nested list - adding to each entry
  • Previous by thread: Re: local variables - Module, For loop
  • Next by thread: Re: local variables - Module, For loop