MathGroup Archive 2002

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

Search the Archive

Re: Re: RE: Re: ValueQ

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34427] Re: [mg34411] Re: [mg34376] RE: [mg34340] Re: ValueQ
  • From: Andrzej Kozlowski <andrzej at platon.c.u-tokyo.ac.jp>
  • Date: Sun, 19 May 2002 04:14:49 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Just evaluate:

?*Values

And you will be lead to all of them.


On Saturday, May 18, 2002, at 08:11  PM, DrBob wrote:

> Uh oh... where do I find explanations for OwnValue and SubValue?
>
> Bobby Treat
>
> -----Original Message-----
> From: Andrzej Kozlowski [mailto:andrzej at platon.c.u-tokyo.ac.jp]
To: mathgroup at smc.vnet.net
> Sent: Saturday, May 18, 2002 2:52 AM
> Subject: [mg34427] [mg34411] Re: [mg34376] RE: [mg34340] Re: ValueQ
>
> The purpose of ValueQ is to check if a symbol is a "value", which means
> not just a DownVlaue, but also OwnVlaue, SubValue and so on,  e.g.:
>
> In[1]:=
> a/:f[a]=2;
>
> In[2]:=
> f[b]=3;
>
> In[3]:=
> c=5;
>
> In[4]:=
> ReleaseHold[Map[ValueQ,Hold[{f[a],f[b],f[c],c,d,f[d]}],{2}]]
>
> Out[4]=
> {True,True,True,True,False,False}
>
Andrzej Kozlowski
Toyama International University
JAPAN
http://platon.c.u-tokyo.ac.jp/andrzej/
>
>
> On Friday, May 17, 2002, at 07:31  PM, DrBob wrote:
>
>> 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: [mg34427] [mg34411] [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: Re: cannot solve *trivial* equation
  • Next by Date: RE: Re: Plot Random Walk!
  • Previous by thread: RE: Re: RE: Re: ValueQ
  • Next by thread: RE: Re: RE: Re: ValueQ