Re: BREAK statement [message #91345 is a reply to message #91344] |
Wed, 01 July 2015 10:17   |
chris_torrence@NOSPAM
Messages: 528 Registered: March 2007
|
Senior Member |
|
|
On Wednesday, July 1, 2015 at 9:55:12 AM UTC-6, Helder wrote:
> On Wednesday, July 1, 2015 at 5:41:35 PM UTC+2, g.na...@gmail.com wrote:
>> Hi I typed the following:
>>
>> A = sqrt(Ax^2 + Ay^2)
>>
>> nozero = where(A ne 0, cnt)
>> if cnt eq 0 then break
>>
>> I got the following error:
>> BREAK must be enclosed within a loop (FOR, WHILE, REPEAT), CASE, or SWITCH statement.
>>
>> The error is very clear. I am not sure if the following is equivalent
>>
>> A = sqrt(Ax^2 + Ay^2)
>>
>> nozero = where(A ne 0, cnt)
>> if cnt eq 0 then return
>>
>> Using the return instead of break because that part of code does not enclosed within a loop. If not so, can anyone suggest a statement doing the same thing as BREAK without being enclosed within a loop?
>
> Break and Return are simply different.
> From the help
>
> Break: exits a loop (as said in the error code)
> Return: causes the program context to revert to the next-higher program level
>
> In other words:
>
> pro runTest
> print, 'start test'
> testBreakReturn
> print, 'end test'
> end
>
> Pro testBreakReturn
> for i=0,10 do begin
> print, 'counting ',i
> if i eq 5 then break
> endfor
> print, "I'm out of the for loop!"
> print, 'Now I will call the return statement'
> return
> print, 'this line will not be executed becuase the return makes me return to the previous pro!'
> end
>
> I hope it is clear.
>
> Look up:
> http://www.exelisvis.com/docs/BREAK.html
> http://www.exelisvis.com/docs/RETURN.html
>
> Cheers,
> Helder
Maybe you want to use "STOP" to actually halt execution?
-Chris
|
|
|