คำสั่งการทำงานซ้ำวนลูปแบบต่างๆ Autoit Loop

 ใน AutoIt, การวนลูป (Loop) ใช้สำหรับการทำงานซ้ำ ๆ ตามจำนวนครั้งที่กำหนด หรือจนกว่าเงื่อนไขที่กำหนดจะเป็นจริง การวนลูปมีหลายประเภทที่ใช้ในสถานการณ์ที่ต่างกัน เช่น For, While, Do...Until, และ For...In. นี่คือลักษณะการใช้แต่ละประเภท:

1. การใช้ For Loop (ลูปที่กำหนดจำนวนรอบการทำงาน)

คำสั่ง For ใช้ในการวนลูปโดยการกำหนดค่าตัวแปรเริ่มต้น, ค่าสุดท้าย, และจำนวนที่เพิ่มขึ้นหรือถอยหลังระหว่างรอบการวนลูป

รูปแบบการใช้ For:

For $i = <ค่าเริ่มต้น> To <ค่าสุดท้าย> Step <จำนวนที่เพิ่มขึ้น>
    ; คำสั่งที่ต้องการทำซ้ำ
Next
  • $i: ตัวแปรที่ใช้ในการนับรอบ
  • ค่าเริ่มต้น: ค่าที่เริ่มต้นให้กับตัวแปร $i
  • ค่าสุดท้าย: ค่าที่ลูปจะหยุดทำงาน
  • Step: ตัวเลือกในการเพิ่มหรือลดค่าในแต่ละรอบ (ค่า default คือ 1)

ตัวอย่าง:

For $i = 1 To 5
    MsgBox(0, "Counter", "Count is: " & $i)
Next

ในตัวอย่างนี้:

  • โปรแกรมจะแสดงกล่องข้อความบอกค่าของ $i ตั้งแต่ 1 ถึง 5.

หากต้องการให้ตัวแปรลดค่าในแต่ละรอบ เช่น ถ้าเริ่มจาก 5 ไปยัง 1, สามารถใช้ Step เป็นลบ:

For $i = 5 To 1 Step -1
    MsgBox(0, "Counter", "Count is: " & $i)
Next

2. การใช้ While Loop (ลูปที่ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ)

คำสั่ง While ใช้ในการวนลูปตราบใดที่เงื่อนไขเป็นจริง และจะหยุดเมื่อเงื่อนไขเป็นเท็จ

รูปแบบการใช้ While:

While <เงื่อนไข>
    ; คำสั่งที่ต้องการทำซ้ำ
WEnd
  • <เงื่อนไข>: เงื่อนไขที่ต้องการตรวจสอบในแต่ละรอบของลูป

ตัวอย่าง:

$i = 1
While $i <= 5
    MsgBox(0, "Counter", "Count is: " & $i)
    $i = $i + 1
WEnd

ในตัวอย่างนี้:

  • ลูปจะทำงานจนกว่า $i จะมีค่ามากกว่า 5 โดยในแต่ละรอบ $i จะเพิ่มขึ้น 1

3. การใช้ Do...Until Loop (ลูปที่ทำงานจนกว่าเงื่อนไขจะเป็นจริง)

คำสั่ง Do...Until ทำงานในลักษณะคล้ายกับ While แต่การทำงานของ Do...Until จะทำการวนลูปอย่างน้อยหนึ่งครั้งก่อนที่จะตรวจสอบเงื่อนไขว่ามีค่าเป็นจริงหรือไม่

รูปแบบการใช้ Do...Until:

Do
    ; คำสั่งที่ต้องการทำซ้ำ
Until <เงื่อนไข>
  • <เงื่อนไข>: เงื่อนไขที่จะตรวจสอบในแต่ละรอบของลูป

ตัวอย่าง:

$i = 1
Do
    MsgBox(0, "Counter", "Count is: " & $i)
    $i = $i + 1
Until $i > 5

ในตัวอย่างนี้:

  • ลูป Do...Until จะทำงานจนกว่า $i จะมีค่ามากกว่า 5

4. การใช้ For...In Loop (ลูปที่ใช้กับการวนผ่านค่าใน Array หรือ List)

คำสั่ง For...In ใช้สำหรับวนลูปผ่านค่าทุกค่าภายใน Array, List, หรือ Collection

รูปแบบการใช้ For...In:

For $element In <Array or List>
    ; คำสั่งที่ต้องการทำกับแต่ละค่าใน Array หรือ List
Next
  • $element: ตัวแปรที่จะเก็บค่าของแต่ละรายการใน Array หรือ List ในแต่ละรอบ
  • : ชื่อของ Array หรือ List ที่คุณต้องการวนลูป

ตัวอย่างการใช้ For...In กับ Array:

Local $array[3] = ["Apple", "Banana", "Cherry"]

For $fruit In $array
    MsgBox(0, "Fruit", "I like " & $fruit)
Next

ในตัวอย่างนี้:

  • โปรแกรมจะแสดงข้อความ "I like Apple", "I like Banana", และ "I like Cherry" ในลำดับตามค่าที่อยู่ใน Array

5. การใช้งาน Break และ Continue

ในบางกรณีคุณอาจต้องการออกจากลูปก่อนที่จะเสร็จสิ้น หรือข้ามไปยังรอบถัดไปของลูป โดยสามารถใช้คำสั่ง Break และ Continue

  • Break: ใช้สำหรับหยุดการทำงานของลูปทันที
  • Continue: ใช้เพื่อข้ามรอบปัจจุบันของลูปและไปยังรอบถัดไป

ตัวอย่างการใช้ Break และ Continue:

For $i = 1 To 10
    If $i == 5 Then
        MsgBox(0, "Break", "Breaking at count: " & $i)
        Break
    EndIf
    MsgBox(0, "Count", "Count is: " & $i)
Next

ในตัวอย่างนี้:

  • ลูปจะหยุดทำงานเมื่อ $i มีค่าเท่ากับ 5 โดยใช้ Break

สรุป

  • For: ใช้สำหรับการวนลูปที่มีจำนวนการทำงานกำหนด (สามารถเพิ่มหรือลดค่าในแต่ละรอบได้)
  • While: ใช้สำหรับการวนลูปตราบเท่าที่เงื่อนไขเป็นจริง
  • Do...Until: ใช้สำหรับการวนลูปจนกว่าเงื่อนไขจะเป็นจริง (จะทำงานอย่างน้อยหนึ่งรอบ)
  • For...In: ใช้ในการวนลูปผ่านค่าทั้งหมดใน Array หรือ List

คำสั่งเหล่านี้จะช่วยให้คุณสามารถสร้างโปรแกรมที่มีการทำงานซ้ำ ๆ ได้อย่างมีประสิทธิภาพและยืดหยุ่น!

แสดงความคิดเห็น

0 ความคิดเห็น