1. ContinueLoop
和 C 語言的 Continue 相似,必須與 If-Else-Then 合用,當條件成立時,此次回圈不執行,直接執行下個回圈。以 1+3+5...+11 為例
Dim $i=0, $sum=0
For $i=1 To 11
If(Mod($i,2)=0) Then ; 除以2之餘數為0 時 (即偶數時) 跳過不做
ContinueLoop
EndIf
$sum+=$i
Next
MsgBox(0, "title", $sum)
2. ContinueCase
必須用於 Case 類語法。由於 Case 與 Case 只會執行一次,如果在 Case 底下再加上 ContinueCase 的話就會再繼續執行下個 Case。如
$num = 0
$pre_msg = "Edis"
Switch $num
Case 0:
$pre_msg &= "on"
ContinueCase
Case 1:
$pre_msg &= "X"
Case 2:
$pre_msg = "2"
Case Else:
$pre_msg = "Others"
EndSwitch
由於 $num 初值給 0 ,一般而已如果沒有加上 ContinueCase 的話只會執行 Case 0,最後 $pre_msg 將變成 "Edison";但加上 ContinueCase 後,還會再多執行到 Case 1,於是最後 $pre_msg 變成 "EdisonX"
3. ExitLoop
ExitLoop 和 C 語言的 break 相似,使用時便是停止目前所在回圈。而 ExitLoop 還可以設要跳出回圈的層數,如
Dim $i=0, $j=0, $times=0
For $i=0 To 10
For $j=0 To 10
$times+=1
ExitLoop(1)
Next
Next
MsgBox(0, "title", $times)
上述之程式碼,ExitLoop(1) 指的是只往外跳出一層回圈,所以 $times 仍會被加 11 次,最後結果 $times = 11;若改為 ExitLoop(2),則會往外跳出二層回圈,最後 $times=1。使用 ExitLoop 時,若不指明引數直接調用,預設值是 1。
留言列表