找回密码
 register

QQ登录

只需一步,快速开始

查看: 78|回复: 0

lua 中return与break的用法

[复制链接]

lua 中return与break的用法

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
12364
Waylee 2023-1-24 16:51 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

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

您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-19 20:22 , Processed in 0.103297 second(s), 8 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表