Lua 流程控制

2021-08-17 22:48:36 字數 3930 閱讀 6336

lua程式語言流程控制語句通過程式設定乙個或多個條件語句來設定。在條件為true時執行指定程式**,在條件為false時執行其他指定**。

下圖是典型的流程控制流程圖:

控制結構的條件表示式結果可以是任何值,lua認為false和nil為假,true和非nil為真。

要注意的是lua中 0 為 true:

--[ 0 為 true ]

if(0)

then

print("0 為 true")

end

以上**輸出結果為:

0 為 true
lua 提供了以下控制結構語句:

語句描述

if 語句

if 語句由乙個布林表示式作為條件判斷,其後緊跟其他語句組成。

if...else 語句

if 語句可以與else 語句搭配使用, 在 if 條件表示式為 false 時執行 else 語句**。

if 巢狀語句

你可以在ifelse if中使用乙個或多個ifelse if語句 。

if語句

if(布林表示式)

then

--[ 在布林表示式為 true 時執行的語句 --]

end

在布林表示式為 true 時會if中的**塊會被執行,在布林表示式為 false 時,緊跟在 if 語句 end 之後的**會被執行。lua認為false和nil為假,true 和非nil為真。要注意的是lua中 0 為 true。

if 語句流程圖如下:

例項

--[ 定義變數 --]

a = 10;

--[ 使用 if 語句 --]

if( a < 20 )

then

--[ if 條件為 true 時列印以下資訊 --]

print("a 小於 20" );

endprint("a 的值為:", a);

執行結果為:

a 小於 20

a 的值為: 10

a 

小於20

a 的值為:

10小於

20a

的值為:

10

if...else 語句

if(布林表示式)

then

--[ 布林表示式為 true 時執行該語句塊 --]

else

--[ 布林表示式為 false 時執行該語句塊 --]

end

在布林表示式為 true 時會if中的**塊會被執行,在布林表示式為 false 時,else 的**塊會被執行。lua認為false和nil為假,true 和非nil為真。要注意的是lua中 0 為 true。

if 語句流程圖如下:

例項

--[ 定義變數 --]

a = 100;

--[ 檢查條件 --]

if( a < 20 )

then

--[ if 條件為 true 時執行該語句塊 --]

print("a 小於 20" )

else

--[ if 條件為 false 時執行該語句塊 --]

print("a 大於 20" )

endprint("a 的值為 :", a)

執行結果:

a 大於 20

a 的值為 : 100

if...elseif...else 語句

if( 布林表示式 1)

then

--[ 在布林表示式 1 為 true 時執行該語句塊 --]

elseif( 布林表示式 2)

then

--[ 在布林表示式 2 為 true 時執行該語句塊 --]

elseif( 布林表示式 3)

then

--[ 在布林表示式 3 為 true 時執行該語句塊 --]

else

--[ 如果以上布林表示式都不為 true 則執行該語句塊 --]

end

例項

--[ 定義變數 --]

a = 100

--[ 檢查布林條件 --]

if( a == 10 )

then

--[ 如果條件為 true 列印以下資訊 --]

print("a 的值為 10" )

elseif( a == 20 )

then

--[ if else if 條件為 true 時列印以下資訊 --]

print("a 的值為 20" )

elseif( a == 30 )

then

--[ if else if condition 條件為 true 時列印以下資訊 --]

print("a 的值為 30" )

else

--[ 以上條件語句沒有乙個為 true 時列印以下資訊 --]

print("沒有匹配 a 的值" )

endprint("a 的真實值為: ", a )

以上**執行結果如下:

沒有匹配 a 的值

a 的真實值為: 100

if 巢狀語句

if( 布林表示式 1)

then

--[ 布林表示式 1 為 true 時執行該語句塊 --]

if(布林表示式 2)

then

--[ 布林表示式 2 為 true 時執行該語句塊 --]

endend

例項

--[ 定義變數 --]

a = 100;

b = 200;

--[ 檢查條件 --]

if( a == 100 )

then

--[ if 條件為 true 時執行以下 if 條件判斷 --]

if( b == 200 )

then

--[ if 條件為 true 時執行該語句塊 --]

print("a 的值為 100 b 的值為 200" );

endendprint("a 的值為 :", a );

print("b 的值為 :", b );

以上**執行結果如下:

a 的值為 100 b 的值為 200

a 的值為 : 100

b 的值為 : 200

參考:

Lua 流程控制

lua 程式語言流程控制語句通過程式設定乙個或多個條件語句來設定。在條件為 true 時執行指定程式 在條件為 false 時執行其他指定 以下是典型的流程控制流程圖 要注意的是lua中 0 為 true 0 為 true if 0 then print 0 為 true end以上 輸出結果為 0...

Lua流程控制

if.else 語句 lua if 語句可以與 else 語句搭配使用,在 if 條件表示式為 false 時執行 else 語句 塊。lua if.else 語句語法格式如下 if 布林表示式 then 布林表示式為 true 時執行該語句塊 else 布林表示式為 false 時執行該語句塊 e...

(四)Lua 流程控制

控制結構的條件表示式結果可以是任何值,lua認為false和nil為假,true和非nil為真。語句描述 ifif語句 由乙個布林表示式作為條件判斷,其後緊跟其他語句組成 if else 可以與else語句搭配使用 if 表示式為false 執行else語句 if巢狀語句 可以在if或者else中 ...