MathGroup Archive 2009

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

Search the Archive

Re: why does DownValues not return all downvalues for a symbol?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg99404] Re: why does DownValues not return all downvalues for a symbol?
  • From: Albert Retey <awnl at gmx-topmail.de>
  • Date: Tue, 5 May 2009 05:40:18 -0400 (EDT)
  • References: <gtnk2p$3l6$1@smc.vnet.net>

Hi,

> I'm trying to get the functionality of "associative arrays" or "alist"
> or "hash tables"  to work in Mathematica.  However I'm seeing a quirk
> and I wonder if anybody can explain what is going on or suggest a
> better approach?
> 
> I can define a simple associate array like so:
> f["red"]=1;
> f["blue"]=2;
> ...
> If all my parameters are strings, then I can find the "keys" to my
> alist with the following function:
> StringKeys[y_] := DownValues[y] /. {( _[y[str_String]] :> _) -> str};
> SetAttributes[StringKeys, HoldFirst];
> 
> In[141]:= StringKeys[f]
> 
> Out[141]= {"blue", "red"}
> 
> However, if I try to define a more complex alist, I cannot find any
> way to retrieve the definition!
> 
> In[142]:= g["x"]["y"] = 1;
> 
> In[143]:=  DownValues[g]
> 
> Out[143]= {}
> 
> In[144]:= UpValues[g]
> 
> Out[144]= {}
> 
> 
> Any ideas?

SubValues[g]

hth,

albert


  • Prev by Date: Re: problems with DSolve
  • Next by Date: Re: Bug with Hypergeometric2F1?
  • Previous by thread: Re: why does DownValues not return all downvalues for a
  • Next by thread: Re: why does DownValues not return all downvalues for a symbol?