MathGroup Archive 2000

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

Search the Archive

Re: List of patterns for which a function is defined?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg24447] Re: [mg24378] List of patterns for which a function is defined?
  • From: BobHanlon at aol.com
  • Date: Tue, 18 Jul 2000 00:58:49 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 7/12/2000 11:46:55 PM, roger.wilson at nomura.co.uk writes:

>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?
>

a[1] = 4; a[2] = 5; a["cat"] = "sam"; a["2"] = "five";

ListOfPatternsDefined[a_Symbol] := 
  ReleaseHold[(First /@ DownValues[a]) /. a[x_] -> x]

ListOfPatternsDefined[a]

{1, 2, "2", "cat"}

a /@ %

{4, 5, "five", "sam"}


Bob Hanlon


  • Prev by Date: Bessel function replacement rules
  • Next by Date: Re: Plotting Surfaces from data
  • Previous by thread: Re: List of patterns for which a function is defined?
  • Next by thread: Re: List of patterns for which a function is defined?