Re: Why Return[] does not work?

• To: mathgroup at smc.vnet.net
• Subject: [mg109509] Re: Why Return[] does not work?
• From: David Bailey <dave at removedbailey.co.uk>
• Date: Sun, 2 May 2010 05:36:18 -0400 (EDT)
• References: <hr6ihp\$2f8\$1@smc.vnet.net> <hr6la2\$5im\$1@smc.vnet.net> <201004280558.BAA05169@smc.vnet.net> <hre94j\$8s\$1@smc.vnet.net>

```Andrzej Kozlowski wrote:
> I am not sure if anyone pointed out that if enough Returns are used the original code will work as expected:
>
> Intersects[x_List, y_List] := (Do[(Print["Outer step ", xi];
>     Do[(Print[xi, yi];
>       If[xi == yi, (Print["Returning True"];
>         Return[Return[Return[True]]])]), {yi, y}]), {xi, x}]; False)
>
> In[2]:= Intersects[{a,b},{c,a}]
> During evaluation of In[2]:= Outer step a
> During evaluation of In[2]:= ac
> During evaluation of In[2]:= aa
> During evaluation of In[2]:= Returning True
> Out[2]= True
>
> On 28 Apr 2010, at 14:58, Dims wrote:
>
>> On 27 =D0=B0=D0=BF=D1=80, 16:28, Albert Retey <a... at gmx-topmail.de> wrote:
>>> Am 27.04.2010 13:41, schrieb Dims:
>>> Intersects[x_List, y_List] := Catch[
>> Yes, thank you, I also came to conclusion, that catch works. But I
>> think it is a bug with return, since manual says, that we CAN use
>> Return[] inside Do[].
>>
>
>
With Mathematica you always live and learn - I had never realised that
would work - thanks!

I do use Return sometimes, but if I need a loop, I normally use a While
loop - which don't seem to be noticed by Return. Unlike some others, I
think Return has its place, although I do wish its semantics were a
little clearer.

If you want a function to perform a few tests on its arguments to decide
if its arguments are appropriate, I think it is much clearer to use
If[xxx,Return[]]; rather than embed the rest of the function body inside
the If.

I also think Return is useful when making temporary alterations to some
code - say adding a Return[] somewhere just to disable some code.

David Bailey
http://www.dbaileyconsultancy.co.uk

```

• Prev by Date: Re: Why Return[] does not work?
• Next by Date: Re: Sphere formula
• Previous by thread: Re: Why Return[] does not work?
• Next by thread: Re: How to disable Integrate[] ?