Lua中变相实现continue跳出循环

Lua 里没有 continue 这个关键词,有时候挺不方便,可能导致循环里的 if-then 嵌套比较深。

但我们可以用一个小技巧来实现同等功能:

for i = 1, 100 do
    while true do
        if i % 2 == 1 then 
            break 
        end
        -- 这里有一大堆代码
        --
        --
        break
    end
end

 

注:最后一个break 一定要写,不然会进入死循环 

在这个例子中,当 i % 2 == 1 时,就会实现 continue 的效果。

这种写法的好处是在循环体较为复杂时,可以很清晰的看到什么时候直接跳到循环尾部了。

 

posted @ 2017-05-04 10:43  英dan  阅读(14494)  评论(0编辑  收藏  举报