Lua——循环和流程控制(if,for,while,break,goto,repeat...until)
生活随笔
收集整理的這篇文章主要介紹了
Lua——循环和流程控制(if,for,while,break,goto,repeat...until)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、if語句
- 1.基本語法知識
- 2.演示示例
- 二、循環語句
- 1.while循環
- 2.for循環
- 3.repeadt...until循環
一、if語句
1.基本語法知識
if語句要注意,在Lua里面0為true,其他為假
語法為:
2.演示示例
示例:
if(0) thenprint("0為true") elseprint("0為false") endif( 1== 2)--注意if語句和elseif語句都要配合then,else語句不需要配合then thenprint("1 == 2為true") elseif(1 == 3) thenprint("1 == 3為true") elseprint("1既不等于2也不等于3") end運行結果:
二、循環語句
1.while循環
(1)基本語法
while(condition) dostatements end(2)示例演示
i=0 while(i < 10)doprint("i值為:",i)i = i+1--沒有++語法或者+=語法end運行結果:
2.for循環
(1)基本語法
①數值for循環語法
var 從 exp1 變化到 exp2,每次變化以 exp3 為步長遞增 var,并執行一次 “執行體”。exp3 是可選的,如果不指定,默認為1。
②泛型for循環
泛型 for 循環通過一個迭代器函數來遍歷所有值,類似foreach 語句。
i是數組索引值,v是對應索引的數組元素值。ipairs是Lua提供的一個迭代器函數,用來迭代數組。
(2)示例演示
--數值for循環 --沒有指定步長,步長默認為1 print("第一個數值for循環:") for i=1,10doprint(i)end--數值for循環 --步長指定為2 print("第二個數值for循環:") for i=1,10,2doprint(i)end--泛型for循環 print("第一個泛型for循環:") table1={"abc","def","ghi","jkl","mno"} for i,v in ipairs(table1)doprint(i,v)end--泛型for循環 print("第二個泛型for循環:") for i,v in ipairs(table1)doprint(v)end--[[ --不允許指定索引的開始位置 for i=2,v in ipairs(table1)doprint(i,v)end --]]運行結果:
3.repeadt…until循環
(1)基本語法
repeadt類似C語言的do…while循環
語法:
(2)示例演示
i=1 repeatprint("i值為:",i)i = i+1 until(i > 10)運行結果:
4.break和goto
break和goto和C語言的作用一樣,break跳出最內層循環,
goto跳轉到其他語句,語法為:
這里作簡單演示
--break演示 i=1 while(0)--0為true,死循環doprint("i值為:",i)i = i+1if(i == 5)thenbreakendend--goto演示 ::here:: print("這是here下的第一個語句")print("這是here下的第二個語句")while(0)doprint("i值為:",i)i = i+1if(i == 10)thengoto hereendif(i == 11)thenprint("又一次進入第二個while循環")breakendendprint("這是帶goto的while外的語句")運行結果:
goto到了here語句之后,會從here那里繼續向下一步一步的執行,所以會再次到第二個while循環里面
總結
以上是生活随笔為你收集整理的Lua——循环和流程控制(if,for,while,break,goto,repeat...until)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lua——table(表)的使用
- 下一篇: Lua——运算符