MathGroup Archive 1998

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

Search the Archive

Re: Disappearing variables


f:=x=123

?f

"Global`f"

f := x = 123

f

123

x

123

Remove[x]

Removing x changed the definition for f:

?f

"Global`f"

f := Removed["x"] = 123

f

123

x is no longer in the definition of f; consequently, the call for f did
not re-assign the value to x

x

x

Bob Hanlon

In a message dated 8/24/98 6:51:01 AM, nobody at News.Dal.Ca wrote:

>I want to to define a variable inside a function, as follows: f:=x=123;
>Whenever I run f, x should be given the value of 123, and if x doesn't
>exist, it should be created. However:
>
>In[1]:= f:=x=123;
>In[2]:=f
>Out[2]:=123
>In[3]:=x
>Out[3]:=123        ** x exists
>In[4]:=Remove[x];
>In[5]:=f
>Out[5]:=123  ** f seems to work 
>In[6]:=x
>Out[6]:=x     ** x doesn't exist anymore, even though f worked
>
>It seems like x is created when I initially define f, whereas since f is
>SetDelayed,  x should be created when I run f.  Does anyone know why x
>is not created when I run f?


  • Prev by Date: Function as an argument to a function
  • Next by Date: math versus mathematica
  • Previous by thread: Re: Disappearing variables
  • Next by thread: Re: Disappearing variables