News
On June 1, we’re asking you to select a content label when starting a new topic in the Discussions area. Read more to find out why.
Choose Language Hide Translation Bar
Highlighted

## Break/Continue a (nested) outer for loop

If I have 2 nested for-loops, how can I break/continue the outer loop?

example:

for (i=0, i<10, i++,

for (j=0, j<10, j++,

// Do stuff

if ( <condition>,

// Continue with the next i

); // end if

); // end inner loop

// Do some more stuff

); // end outer loop

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

## Re: Break/Continue a (nested) outer for loop

hi Jan,

try to use the Break(). the following script will stop running when i will reach 3.

For( i = 0, i <= 5, i++,

For( z = 0, z < 5, z++,

if (i >= 3, Break());

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

)

);

the next script will just skip i=3 and continue to i=4 and i=5.

For( i = 0, i <= 5, i++,

For( z = 0, z < 5, z++,

if (i== 3, Break());

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

)

);

Iterate

ron

2 REPLIES 2
Highlighted

## Re: Break/Continue a (nested) outer for loop

hi Jan,

try to use the Break(). the following script will stop running when i will reach 3.

For( i = 0, i <= 5, i++,

For( z = 0, z < 5, z++,

if (i >= 3, Break());

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

)

);

the next script will just skip i=3 and continue to i=4 and i=5.

For( i = 0, i <= 5, i++,

For( z = 0, z < 5, z++,

if (i== 3, Break());

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

)

);

Iterate

ron

## Re: Break/Continue a (nested) outer for loop

It's not completely what I am looking for.

Consider this:

For( i = 0, i <= 5, i++,

For( z = 0, z < 5, z++,

if (i== 3, Break());

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

);

Print ( "OUTER i = " || Char (i));

);

If I run this script, outer i is printed.  The real problem here is to 'continue with the next i', without the second print-line (OUTER i = ...) will be printed.  Is there an easy way to do, or do I just have to use a boolean 'continueOuterLoop'?

Thanx.

Boolean solution:

For( i = 0, i <= 5, i++,

continueOuterLoop = 0;

For( z = 0, z < 5, z++,

if (i== 3, continueOuterLoop = 1; Break(); );

Print( "i=" || Char( i ) || " & z=" || Char( z ) )

);

if (continueOuterLoop == 0,

Print ( "OUTER i = " || Char (i))

)

);