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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM