程序總會(huì)需要根據(jù)某個(gè)條件或一系列條件的成立與否來控制程序的流程,例如判斷某個(gè)數(shù)值是否大于另外一個(gè), 又或者是判斷某個(gè)字符串里是否含有指定的子串等等
條件判斷只有 true (非零,真) 或者 false (零,假)兩種可能結(jié)果.通常我們利用 ==, <>, >= 等比較 運(yùn)算符 判斷條件是否成立.
下面是 AutoIt 提供的條件語句:
三個(gè)語句功能都差不多, 具體要用哪一種決定于給定的條件.
以下是一個(gè)If 條件語句,彈出提示 消息對(duì)話框 中變量的值依據(jù)給定條件而有所不同.
$var = -20
If $var > 0 Then
MsgBox(0, "提示 1 ", "變量 $var 的值為正數(shù)!")
ElseIf $var < 0 Then
MsgBox(0, "提示 2 ", "變量 $var 的值為負(fù)數(shù)!")
Else
MsgBox(0, "提示 3 ", "變量 $var 的值為 0.")
EndIf
上面示例中條件表達(dá)式 $var > 0 計(jì)算結(jié)果為 false, 變量的值(-20)小于 0, 第一個(gè)條件失敗.
腳本繼續(xù)測試第二個(gè)條件.
條件表達(dá)式 $var < 0 計(jì)算結(jié)果為 true, 變量的值(-20)小于 0, 因此條件成立, If 語句執(zhí)行第二個(gè) MsgBox 語句行, 并顯示 "變量 $var 的值為負(fù)數(shù)!".
Select 語句的作用也是類似的, 但通常用于判斷較多條件,這比 If/Else 的語句往往更容易閱讀. 例如:
$var = 30
Select
Case $var > 1 AND $var <= 10
MsgBox(0, "提示 1 ",
"變量 $var 的值大于 1")
Case $var > 10 AND $var <= 20
MsgBox(0, "提示 2 ",
"變量 $var 的值大于 10")
Case $var > 20 AND $var <= 30
MsgBox(0, "提示 3 ",
"變量 $var 的值大于 20")
Case $var > 30 AND $var <= 40
MsgBox(0, "提示 4 ",
"變量 $var 的值大于 30")
Case $var > 40
MsgBox(0, "提示 5 ",
"變量 $var 的值大于 40")
EndSelect
Switch 語句與 Select 語句十分相似, 但一般是在同一個(gè)表達(dá)式可能存在不同值的測試情況下使用.
$var = 30
Switch Int($var)
Case 1 To 10
MsgBox(0, "提示 1",
"變量 $var 的值在 1 ~ 10 之間")
Case 11 To 20
MsgBox(0, "提示 2",
"變量 $var 的值在 11 ~ 20 之間")
Case 21 To 30
MsgBox(0, "提示 3",
"變量 $var 的值在 21 ~ 30 之間")
Case 31 To 40
MsgBox(0, "提示 4",
"變量 $var 的值在 31 ~ 40 之間")
Case Else
MsgBox(0, "提示 5 ",
"變量 $var 的值大于 40 或小于等于 0")
EndSwitch
使用上述結(jié)構(gòu), 如果控制組中第一個(gè)條件被執(zhí)行, 則控制組將忽略所有后續(xù)條件以及相關(guān)的語句.
provider with jb51.net (unicode) |