lua 中return与break的用法

记录: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

return

1,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

注意:上述实例中return如果不放在do … end中将会报错,因为return只能放在函数的最后。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值