ใน 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 ความคิดเห็น