|
[Date Index]
[Thread Index]
[Author Index]
Re: Disappearing variables
- To: mathgroup at smc.vnet.net
- Subject: [mg13799] Re: [mg13759] Disappearing variables
- From: Jon Prudhomme <prudhomj at elwha.evergreen.edu>
- Date: Fri, 28 Aug 1998 04:18:22 -0400
- Sender: owner-wri-mathgroup at wolfram.com
> 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?
Your problem is that when you Remove a symbol, Mathematica goes through
all of the previous definitions to note that that symbol has been
removed.
In[7]:=?f
Out[7]:=Global`f
f:=Removed["x"]=123
'f:=ToExpression["x=123"]' is probably closer to what you want.
Prev by Date:
Defining differential operators question
Next by Date:
Re: Animation
Previous by thread:
Re: Disappearing variables
Next by thread:
Re: Disappearing variables
|