Lua编程中的break语句

休息的时候,我们要打破或终止循环的执行语句中使用。一旦到达break语句,控制就会从当前循环转移到循环之后写入的任何内容。该语句中断了包含它的内部循环(forrepeatwhile);它不能在循环外使用。中断后,程序从中断循环后的那个点继续运行。

一个休息语句在条件语句以及在所有类型的循环大多采用。它存在于几乎所有流行的编程语言中。

语法

break

现在,让我们考虑一个非常简单的例子,我们将尝试遍历数组的元素,一旦我们发现数组的当前项等于我们试图搜索的数字,我们将打破循环并然后打印数组当前元素的值。

示例

考虑下面显示的例子 -

a = {11,12,13,14,15,16,17}
v = 16
local i = 1

while a[i] do
   if a[i] == v then break end
   i = i + 1
end

print(a[i])
print("Completed")
输出结果
16
Completed

现在让我们考虑一个更复杂的情况,我们想要遍历数组的元素并在遇到重复值时中断循环。

示例

考虑下面显示的例子 -

iterable = {a=1, doe1={name=1}, doe2={name=2}, doe3={name=2}}
var2 = 1
for i, v in pairs(iterable) do
   print('trying to match', i)
   if string.match(i,'doe') then
      print('match doe', i, v.name, var2)
      if v["name"] == var2 then
         txterr = "无效的名称 "..i
         duplicate = true
         print('found at i=', i)
      end
      if duplicate then
         print('breaking the loop')
         break
      end
   end
end
输出结果
trying to matchdoe3
match doedoe3  2   1
trying to matchdoe2
match doedoe2  2   1
trying to matcha
trying to matchdoe1
match doedoe1  1   1
found at i=    doe1
breaking the loop