Re: local variables - Module, For loop
- To: mathgroup at smc.vnet.net
- Subject: [mg113038] Re: local variables - Module, For loop
- From: Sebastian Schmitt <sschmitt at physi.uni-heidelberg.de>
- Date: Tue, 12 Oct 2010 04:23:39 -0400 (EDT)
Hi Murray! Sorry, my example was obviously too simply. I have in my code a lot of variables in the first argument of Module and added yet another loop and forgot to add its variable to the list of locales. But as Patrick taught me, explicit looping is no good Mathematica style in the first place. Cheers, Sebastian Murray Eisenberg wrote: > What do you think the purpose of that first (list) argument to Module is > for -- just to annoy you? Why even bother to use Module if you don't > intend to use it to isolate some local variables? > > In short, the answer is, "yes, you do need to put the variables intended > to be local into that first-argument list." > > On 10/11/2010 5:15 AM, Sebastian Schmitt 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++, >> Print[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, >> >> Sebastian >> >