RE: Re: ValueQ
- To: mathgroup at smc.vnet.net
- Subject: [mg34376] RE: [mg34340] Re: ValueQ
- From: "DrBob" <majort at cox-internet.com>
- Date: Fri, 17 May 2002 06:31:02 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
Here's a more direct method: Position[DownValues[a], HoldPattern[a[#]]] != {} & /@ {1, 2} {True,False} This is what I'd have expected ValueQ to do, if I hadn't seen the examples and read the fine print. Bobby -----Original Message----- From: Jens-Peer Kuska [mailto:kuska at informatik.uni-leipzig.de] To: mathgroup at smc.vnet.net Subject: [mg34376] [mg34340] Re: ValueQ Hi, Table[ ValueQ @@ (Hold[a[ii]] /. ii -> i), {i, 1, 2}] Regards Jens rainer wrote: > > Hi, > > I#m searching for a simple workaround of the following behaviour. > > For the symbol 'a' I've defined > > In[1]:= > a[1] = 2; > > When I evaluate ValueQ for a defined and for not a defined expression I > get what I expect: > > In[3]:= > ValueQ[a[1]] > Out[3]= > True > > In[4]:= > ValueQ[a[2]] > Out[4]= > False > > But when I evaluate ValueQ e. g. within a Table I always get True: > > In[5]:= > Table[ValueQ[a[i]], {i, 1, 2}] > Out[5]= > {True, True} > > The 2nd 'True' is because 'a[i]' is not equal to 'a[2]'. A first > solution to get the expected result is > > In[6]:= > Table[ToExpression@("ValueQ[a[" <> ToString[i] <> "]]"), {i, 1, 2}] > Out[6]= > {True, False} > > Does anybody know something better? > > Rainer Gruber > JOHANNES KEPLER UNIVERSITY LINZ > Institute of Experimental Physics > Atomic Physics and Surface Science