雖然一般情況下,語句都是順序執(zhí)行的:函數(shù)內(nèi)的第一條語句先執(zhí)行,然后是第二條,依次類推。 但是還是可能存在需要執(zhí)行一段代碼多次的情況。
為此編程語言提供各式各樣的控制結(jié)構(gòu)實現(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)語句。點擊鏈接可查看詳細(xì)說明。
循環(huán)類型 | 描述 |
---|---|
while 循環(huán) | 先檢測條件,條件為真時再執(zhí)行循環(huán)體,直到條件為假時結(jié)束。 |
for 循環(huán) | 執(zhí)行一個語句序列多次,可以簡化管理循環(huán)變量的代碼。 |
repeat...until 循環(huán) | 重復(fù)執(zhí)行一組代碼語句,直到 until 條件為真為止。 |
嵌套循環(huán) | 可以在一個循環(huán)語句中再使用一個循環(huán)語句。 |
循環(huán)控制語句改變循環(huán)正常的執(zhí)行順序。當(dāng)離開一個作用域時,在該作用域內(nèi)自動創(chuàng)建的對象都會被自動銷毀。
Lua 支持如下所示的循環(huá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)語句使用。因為我們可以直接將其條件設(shè)置為真,這樣 while 就會一直循環(huán)下去。在無限循環(huán)中,可以使用 break 跳出循環(huán)。
while( true )
do
print("This loop will run forever.")
end