Re: Returnin pure function
- To: mathgroup at smc.vnet.net
- Subject: [mg58887] Re: Returnin pure function
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Fri, 22 Jul 2005 01:58:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 7/21/05 at 3:46 PM, dh at metrohm.ch (dh) wrote:
>Hi, I seems to me that there is a bug in the implementation of pure
>functions. If somebody can explain the following behaviour it would
>be interessting. If not, maybe Wolfram can contribute something.
>Consider f[x_]:= If[x==0,Return[Error],x]; f /@ {1,0} gives
>{1,Error} what is fine. Now replace the function by a pure
>function: If[#==0,Return[Error],#]& /@ {1,0} this gives
>{1,Return["Error"]}. The Return statement has not been evaluated.
Why do you want to use Return in this manner?
Either
f[x_]:=If[x==0, Error, x]
or
f=If[#==0, Error, #]&
will do what you want. That is,
In[6]:=
f[x_] := If[x == 0, Error, x];
g = If[#1 == 0, Error, #1] & ;
f /@ {0, 1} == g /@ {0, 1}
Out[8]=
True
--
To reply via email subtract one hundred and four
- Follow-Ups:
- Re: Re: Returnin pure function
- From: stephen layland <layland@wolfram.com>
- Re: Re: Returnin pure function