Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié)
在Lua中,所有的控制結(jié)構(gòu)塊都是以end作為結(jié)束標(biāo)記。
控制結(jié)構(gòu)的表達(dá)式結(jié)果可以是任何值,Lua下只有false和nil為假,其他值都為真。
1. if
if 條件 then
...
end;
if 條件 then
...
else
...
end;
if 條件 then
...
elseif 條件 then
...
else
...
end;
then關(guān)鍵字用來標(biāo)記有條件的代碼塊的開始。
2. repeat
repeat
...
until 條件
repeat關(guān)鍵字用來標(biāo)記代碼塊的開始,until用來標(biāo)記代碼塊的結(jié)束??刂平Y(jié)構(gòu)的條件表達(dá)式位于until關(guān)鍵字之后。
3. while
while 條件
do
...
end
repeat和while控制結(jié)構(gòu)相似,都可以循環(huán)執(zhí)行一段代碼直到滿足某個條件。
repeat控制結(jié)構(gòu)在最后判斷條件,代碼塊至少會被執(zhí)行一次的。
while控制結(jié)構(gòu)首先判斷條件,如果為真,那么代碼塊會被執(zhí)行,也可能永遠(yuǎn)不被執(zhí)行。
while控制結(jié)構(gòu)使用do關(guān)鍵字,用來標(biāo)記程序塊的開始。
4. for
for 變量=初值, 終點值, 步長
do
...
end
for 變量1, 變量2, ... 變量n in 表或枚舉函數(shù)
do
...
end
循環(huán)次數(shù)只在第一次執(zhí)行時候確定。初值, 終點值, 步長只會被計算一次,并且是在循環(huán)執(zhí)行前。
循環(huán)結(jié)構(gòu)中的變量是局部變量,一旦循環(huán)體結(jié)束后就被清除。
5. break
break語句用來退出當(dāng)前循環(huán)。在循環(huán)體外部不可以使用。
6. return
return用來從函數(shù)返回結(jié)果。一個函數(shù)自然結(jié)束后會有一個默認(rèn)的return。

Lua中使用元表(metatable)執(zhí)行算術(shù)類元方法實例