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