Re: Q: extracting list of arguments of function
- To: mathgroup at smc.vnet.net
- Subject: [mg16493] Re: [mg16468] Q: extracting list of arguments of function
- From: "Carl K.Woll" <carlw at fermi.phys.washington.edu>
- Date: Tue, 16 Mar 1999 03:59:45 -0500
- Organization: Department of Physics
- References: <199903130722.CAA24544@smc.vnet.net.>
- Sender: owner-wri-mathgroup at wolfram.com
Jerzy, You need to prevent the evaluation of your argument before your function starts. To do this, gived foo the attribute HoldFirst. For example, In[13]:= SetAttributes[foo,{HoldFirst}] foo[fun_]:=List@@Unevaluated[fun] Then, for example, In[15]:= goo[x,y]=1; foo[goo[x,y]] Out[15]= {x,y} Carl Woll Dept of Physics U of Washington Jerzy Niesytto wrote: > Let's assume that we want to pass function goo as argument > to another function foo and extract list of arguments > of the function goo: > foo[fun_] := Module[{argList}, argList = Table[fun[[i]],{i,1,2}] ] > foo[goo[x,y]]; > > This will result in list: > {x,y} > > But if goo was defined before eg: > goo[s_,t_] = s^2 + t^3; > > then we get: > {x^2,y^3} ..... > > Can anybody point me in a right direction here? > Sorry for such an elementary question... > > JT
- References:
- Q: extracting list of arguments of function
- From: Jerzy Niesytto <woland99@earthlink.net>
- Q: extracting list of arguments of function