MathGroup Archive 2002

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

Search the Archive

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





  • Prev by Date: RE: Does Mathematica calculate really so long?
  • Next by Date: Re: Geometry- transformations
  • Previous by thread: RE: ValueQ
  • Next by thread: Re: RE: Re: ValueQ