记录:lua提供的跳出关键字:break 和 return,lua不提供continue. break语句break用于跳出循环,终止for、repeat、while 三种循环的执行,并跳出当前循环体,继续执行当前循环之后的语句,在循环外部不可用。例: --[ 定义变量 --]
a = 10
--[ while 循环 --]
while( a < 20 )
do
print("a 的值为:", a)
a=a+1
if( a > 15)
then
--[ 使用 break 语句终止循环 --]
break
end
end
return1,return 只能写在语句块的最后,一旦执行了return 语句,该语句之后的所有语句都不会再执行。若要写在函数中间,则只能写在一个显式的语句块内。 local function (x, y)
return x + y
--因为前面有个return,若不注释该语句,则会报错
end
local function is_positive(x)
if x > 0 then
return x .. " is positive"
else
return x .. " is non-positive"
end
--由于return只出现在前面显式的语句块,所以此语句不注释也不会报错
--,但是不会被执行,此处不会产生输出
print("function end!")
end
sum = add(10, 20)
print("The sum is " .. sum) -->output:The sum is 30
answer = is_positive(-10)
print(answer) -->output:-10 is non-positive
即:return可分别放在elseif, else, end前面,即拐点 结束前;在循环中使用则放在循环结束前. 2,若想在某个函数的中间提前 return ,可以将 return 放在一个 do … end 代码块中: local function foo()
print("before")
do return end
print("after") -- 这一行语句永远不会执行到
end
|