Re: Local Variables in Do[]
- To: mathgroup at smc.vnet.net
- Subject: [mg116853] Re: Local Variables in Do[]
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Wed, 2 Mar 2011 04:35:58 -0500 (EST)
On 3/1/11 at 5:23 AM, ashai at caltech.edu (adamimos) wrote: >I hate to have such a newbie question, but I'm new to programming in >Mathematica. I have nested loops, and I'd like to change a global >variable inside of the loop. It seems that Mathematica makes all >variables defined inside of Do functions local, is this true? No, as is easily demonstrated by: In[1]:= x = 4; Do[x += n, {n, 10}]; x Out[3]= 59 In[4]:= 59 - Sum[n, {n, 10}] Out[4]= 4 As you can see from the above, the value of x, a global variable, was modified and retains that modification outside the Do loop. Also, note if you paste the code into a fresh session notice the syntax coloring for x and n is different. n will get colored as a local variable, x will be colored blue like any global variable with no assigned value. Once the code runs, the color of x will change to black due to the assignment but the color of n will remain unchanged.