Re: pure function with optional number of arguments

*To*: mathgroup at smc.vnet.net*Subject*: [mg98964] Re: pure function with optional number of arguments*From*: Szabolcs Horvát <szhorvat at gmail.com>*Date*: Wed, 22 Apr 2009 06:32:52 -0400 (EDT)*References*: <gsmmvk$d24$1@smc.vnet.net>

Ruth Lazcoz Saez wrote: > Hi, > > I have two definitions for a function, one in the case it has one > argument and another one if it has two. > > Efun[x_]:=x^2 > Efun[x_,y_]:=x^2+y^2 > > Then I want to construct a pure function that does the same thing as > this non-pure function > > myint[params__] := Integrate[z*Efun[params], {z, 0, #}] & /@ {1, 2, 3} > > I tried to accomplish it with > > myintpure= Function[params, Integrate[z*Efun[params], {z, 0, #}] & /@ > {1, 2, 3}], > > but myintpure[x,y] gives not the same as myint[x,y], so this pure > function I have constructed seems to be not right. > Try this: myintpure = Function[upper, Integrate[z*Efun[##], {z, 0, upper}]] /@ {1, 2, 3} & ## stands for multiple arguments. Here I use the Function[...] notation for the inner function, and the (...)& notation for the outer one.