Lua中使用continue 小练习

今天在工作中遇见一个小问题,需要在lua中使用continue的用法,手动写了一些,加深印象

首先来提一下lua中的 for 循环。


--从 1到10遍历输出
for i = 1,10,do
     print(i)
     end 
--从1到10,以每次增2遍历输出
for i = 1,10,2 do
     print(i)
     end 
--当然你也可以从大到小遍历
for i = 10,1,-1 do
     print(i)
end  

OK,再看一下repeat 用法好了,这个类似do while语句,循环体开始程序都会执行一次,until条件成立的时候退出.

a = 5
repeat
    a = a * 3
    print("value is",a)
    until(a > 30)

while do 语句刚好和repeat 相反,条件成立开始执行循环,不成立退出。

a = 10
while (a < 15) do
    a = a +1
    print("value a is ",a)
end

好了,接下来我们用上面的组合模拟一下continue。

  • 方法一

在循环体中使用repeat,在想要continue的地方使用break 就好。

for i = 1, 10,2 do
    repeat
        if i == 5 then
            print("enter continue")
            break
        end
        print("loop",i)
    until true
end
  • 方法二

在循环体中使用while 语句,在想要continue的地方使用break 跳出当前循环。(多个循环体中,break会依次从内到外退出当前循环体)

for i = 1,10 do 
    while true do
        if i %2 == 0 then
            print("continue",i)
            break
        end
        print("loop",i)    
        break
    end
end
  • 方法三

通过新版本goto来模拟此用法

for i = 1, 10 do
 if i%2 == 0 then
    print("continue",i)
     goto continue
     end
        print("loop",i)
     ::continue::
    end
posted @ 2019-12-06 10:31  萧蔷ink  阅读(2583)  评论(0编辑  收藏  举报