網頁標題: AutoIt!! 條件式回圈
 



Dec 22 Wed 2010 03:01 
[A] AutoIt!! 條件式回圈
分享:   

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。

edisonx 發表在 痞客邦 PIXNET 迴響(0) 引用(0) 人氣(102)

http://edisonx.pixnet.net/blog/post/38604407
回 · 發現好東西 autoit 這一篇文章封面


本文張貼者:校校鴿〔張貼時間:民國100年10月10日(星期一)15點18分〕 | 寫信給校校鴿

部落格首頁


學習的故鄉首頁
本站公告:〔您越需要我們,我們就越有創意〕 本站說明書:〔發現故鄉還有改進的地方,請來信告訴原丁們〕
觀察應用學習點數 :〔咱的故鄉有您的參與,會使我們有更大的發揮空間,展現更豐富精彩的學習畫面〕 〔期待藉由無障礙網頁設計,能讓視障小朋友更愛看書、更愛寫作且更愛學習〕:盲用電腦「心得分享」
〔為了讓我們有乾淨的學習環境,請勿任意在本站散播商業廣告與不合法文件或聯結〕:本站宣示