雖然一般情況下,語句都是順序執(zhí)行的:函數(shù)內(nèi)的第一條語句先執(zhí)行,然后是第二條,依次類推。 但是還是可能存在需要執(zhí)行一段代碼多次的情況。
為此編程語言提供各式各樣的控制結(jié)構(gòu)實(shí)現(xiàn)復(fù)雜的程序執(zhí)行路徑。
其中,循環(huán)語句可以讓我們可以執(zhí)行一條或一組語句多次。下圖中所描述的是大多數(shù)語言中循環(huán)語句的形式:
http://wiki.jikexueyuan.com/project/lua/images/loop.jpg" alt="" />
Lua 語言提供了如下幾種循環(huán)結(jié)構(gòu)語句。點(diǎn)擊鏈接可查看詳細(xì)說明。
循環(huán)類型 | 描述 |
---|---|
while 循環(huán) | 先檢測(cè)條件,條件為真時(shí)再執(zhí)行循環(huán)體,直到條件為假時(shí)結(jié)束。 |
for 循環(huán) | 執(zhí)行一個(gè)語句序列多次,可以簡(jiǎn)化管理循環(huán)變量的代碼。 |
repeat...until 循環(huán) | 重復(fù)執(zhí)行一組代碼語句,直到 until 條件為真為止。 |
嵌套循環(huán) | 可以在一個(gè)循環(huán)語句中再使用一個(gè)循環(huán)語句。 |
循環(huán)控制語句改變循環(huán)正常的執(zhí)行順序。當(dāng)離開一個(gè)作用域時(shí),在該作用域內(nèi)自動(dòng)創(chuàng)建的對(duì)象都會(huì)被自動(dòng)銷毀。
Lua 支持如下所示的循環(huán)控制語句。點(diǎn)擊下面的鏈接查看詳細(xì)內(nèi)容:
循環(huán)控制語句 | 描述 |
---|---|
break | break 語句結(jié)束循環(huán),并立即跳轉(zhuǎn)至循環(huán)或 switch 語句后的第一條語句處開始執(zhí)行。 |
如果循環(huán)條件永遠(yuǎn)不可能為假,則此循環(huán)為無限循環(huán)。while 語句經(jīng)常被當(dāng)作無限循環(huán)語句使用。因?yàn)槲覀兛梢灾苯訉⑵錀l件設(shè)置為真,這樣 while 就會(huì)一直循環(huán)下去。在無限循環(huán)中,可以使用 break 跳出循環(huán)。
while( true )
do
print("This loop will run forever.")
end