4.4 break与return
break 和 return 允许我们从内部语句块跳出。break 语句用来跳出当前循环(for、 repeat、 while),因此在循环外部不可以使用。使用 break 跳出之后,程序从紧接着中断点处继续运行。return语句用于返回函数的执行结果或简单地结束函数的运行。所有函数的最后都有一个隐含的return,因此我们不需要在每一个没有返回值的函数最后书写return语句。
- local i = 1
- while a do
- if a == v then
- break
- end
- i = i + 1
- end
复制代码
通常,这些地方正是使用return的典型位置,return之后的语句不会被执行。不过,有时在代码块中间使用return也是很有用的。例如,在调试时我们可能不想让某个函数执行。在这种情况下,可以显式地使用一个包含return的do:
function foo ()
return --<< 语法错误
-- 'return' 是下一个代码块的最后一句
do
return -- OK
end
<其他语句>
end
注意:“else的前一条语句”,其具体所指请看下例:
if ... then
...
return 或 break --这里就是else之前
else
...
return 或 break --这里就是end之前
end
|