Lua if 語(yǔ)句可以與 else 語(yǔ)句搭配使用, 在 if 條件表達(dá)式為 false 時(shí)執(zhí)行 else 語(yǔ)句代碼塊。
Lua if...else 語(yǔ)句語(yǔ)法格式如下:
if(布爾表達(dá)式) then --[ 布爾表達(dá)式為 true 時(shí)執(zhí)行該語(yǔ)句塊 --] else --[ 布爾表達(dá)式為 false 時(shí)執(zhí)行該語(yǔ)句塊 --] end
在布爾表達(dá)式為 true 時(shí)會(huì)if中的代碼塊會(huì)被執(zhí)行,在布爾表達(dá)式為 false 時(shí),else 的代碼塊會(huì)被執(zhí)行。
Lua認(rèn)為false和nil為假,true 和非nil為真。要注意的是Lua中 0 為 true。
if 語(yǔ)句流程圖如下:
以下示例用于判斷變量 a 的值:
--[ 定義變量 --] a = 100; --[ 檢查條件 --] if( a < 20 ) then --[ if 條件為 true 時(shí)執(zhí)行該語(yǔ)句塊 --] print("a 小于 20" ) else --[ if 條件為 false 時(shí)執(zhí)行該語(yǔ)句塊 --] print("a 大于 20" ) end print("a 的值為 :", a)
以上代碼執(zhí)行結(jié)果如下:
a 大于 20 a 的值為 : 100
Lua if 語(yǔ)句可以與 elseif...else 語(yǔ)句搭配使用, 在 if 條件表達(dá)式為 false 時(shí)執(zhí)行 elseif...else 語(yǔ)句代碼塊,用于檢測(cè)多個(gè)條件語(yǔ)句。
Lua if...elseif...else 語(yǔ)句語(yǔ)法格式如下:
if( 布爾表達(dá)式 1) then --[ 在布爾表達(dá)式 1 為 true 時(shí)執(zhí)行該語(yǔ)句塊 --] elseif( 布爾表達(dá)式 2) then --[ 在布爾表達(dá)式 2 為 true 時(shí)執(zhí)行該語(yǔ)句塊 --] elseif( 布爾表達(dá)式 3) then --[ 在布爾表達(dá)式 3 為 true 時(shí)執(zhí)行該語(yǔ)句塊 --] else --[ 如果以上布爾表達(dá)式都不為 true 則執(zhí)行該語(yǔ)句塊 --] end
以下示例對(duì)變量 a 的值進(jìn)行判斷:
--[ 定義變量 --] a = 100 --[ 檢查布爾條件 --] if( a == 10 ) then --[ 如果條件為 true 打印以下信息 --] print("a 的值為 10" ) elseif( a == 20 ) then --[ if else if 條件為 true 時(shí)打印以下信息 --] print("a 的值為 20" ) elseif( a == 30 ) then --[ if else if condition 條件為 true 時(shí)打印以下信息 --] print("a 的值為 30" ) else --[ 以上條件語(yǔ)句沒(méi)有一個(gè)為 true 時(shí)打印以下信息 --] print("沒(méi)有匹配 a 的值" ) end print("a 的真實(shí)值為: ", a )
以上代碼執(zhí)行結(jié)果如下:
沒(méi)有匹配 a 的值 a 的真實(shí)值為: 100