Logo

Programming-Idioms

History of Idiom 43 > diff from v36 to v37

Edit summary for version 37 by programming-idioms.org:
Restored version 35

Version 36

2017-10-21, 11:22:40

Version 37

2017-10-21, 11:24:45

Idiom #43 Break outer loop

Look for a negative value v in 2D integer matrix m. Print it and stop searching.

Illustration

Idiom #43 Break outer loop

Look for a negative value v in 2D integer matrix m. Print it and stop searching.

Illustration
Code
breakout = false
for i,v1 in ipairs(m) do
   for j,v2 in ipairs(v1) do
      if v2 < 0 then
         print(v2)
         state = "found"
         breakout = true
         break
      end
   end
   if breakout then break end
end
Code
breakout = false
for i,v1 in ipairs(m) do
   for j,v2 in ipairs(v1) do
      if v2 < 0 then
         print(v2)
         state = "found"
         breakout = true
         break
      end
   end
   if breakout then break end
end
Comments bubble
1) First break breaks out of the inner-loop. Second break breaks out of the outer-loop.
2) Simplifying is possible. Change line 11 in if (state == "found") then break end and remove lines 1, 7 and 8.
3) No goto-statement.
4) As Nepta wrote: using a function might be another solution, as an example see http://www.programming-idioms.org/idiom/20/return-two-values/1661/lua
Comments bubble
1) First break breaks out of the inner-loop. Second break breaks out of the outer-loop.
2) Simplifying is possible. Change line 11 in if (state == "found") then break end and remove lines 1 and 7.
3) No goto-statement.
4) As Nepta wrote: using a function might be another solution, as an example see http://www.programming-idioms.org/idiom/20/return-two-values/1661/lua