Re: List of patterns for which a function is defined?
- To: mathgroup at smc.vnet.net
- Subject: [mg24425] Re: [mg24378] List of patterns for which a function is defined?
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Tue, 18 Jul 2000 00:58:23 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Here is a simple function that will accomplish this (at least in your case and similar ones): In[1]:= ListOfPatternsDefined[a_] := Cases[ToHeldExpression[ToString[Definition[a]]], a[x_] -> x, Infinity] In[2]:= a[1] = 4; a[2] = 5; a["cat"] = "sam"; In[3]:= ListOfPatternsDefined[a] Out[3]= {1, 2, cat} Andrzej -- Andrzej Kozlowski Toyama International University, JAPAN For Mathematica related links and resources try: <http://www.sstreams.com/Mathematica/> on 7/13/00 12:13 PM, Roger Wilson at roger.wilson at nomura.co.uk wrote: > I have a function b which I define explicitly for a set of input values. > > a[1]=4; a[2]=5; a["cat"]="sam"; > > If I type ??a I get the usual listing of the definition of a but how do I > get a list of the values or patterns for which a is defined? > > ListOfPatternsDefined[a] > {1,2,"cat"} > > In python this would be a.keys() but in Mathematica I'm stuck? > > Any ideas? > > Roger. > > --------------------------------------------------------------------- > Roger Wilson, Quantitative Analysis Group | roger.wilson at nomura.co.uk > <mailto:roger.wilson at nomura.co.uk> > Nomura International plc, Nomura House | Phone: +44 020 7521 2373 > 1 St. Martin's-le-Grand, London EC1A 4NP | Fax: +44 020 7521 3676 > --------------------------------------------------------------------- > Any views or opinions presented are solely those > of the author and do not necessarily represent those > of Nomura or any of its affiliates. > Nomura International PLC is a member of the > London Stock Exchange and is regulated by The Securities and > Futures Authority. > --------------------------------------------------------------------- > > > >