Re: Return in function
- To: mathgroup at smc.vnet.net
- Subject: [mg105686] Re: Return in function
- From: magma <maderri2 at gmail.com>
- Date: Tue, 15 Dec 2009 07:27:51 -0500 (EST)
- References: <hftbe9$cjh$1@smc.vnet.net>
On Dec 11, 12:46 pm, dh <d... at metrohm.com> wrote: > Version 7.0.1 > > Hello, > > I am not sure if this is a feature or a bug. If you use Return in an > > anonymous function, not only the return value is returned, but also > > "Return" itself. Consider: > > (If[# == 2, Return[a]; #, #]) & /@ {1, 2, 3} > > this gives: > > {1, Return[a], 3} > > The same thing happens with: > > Function[x, If[x == 2, Return[a]; x, x]] /@ {1, 2, 3} > > However, the following works as expected: > > f[x_] := (If[x == 2, Return[a]; x, x]); > > f /@ {1, 2, 3} > > Daniel It looks like a bug. One thing I do not understand: what is the point of writing Return[a]; x in the definition of f[x_] ? Anything after Return is discarded anyway.