swift playground

มารู้จัก Loop ในภาษา Swift กันเถอะ!!

veeravat jeensuksang
TuyMove
Published in
2 min readAug 29, 2017

--

loooooop

สวัสดีครับ ไม่ได้เข้ามาอัพเดทซะนานเลย จริง ๆ แล้วที่จะมาให้ทำความรู้จักกับการ Loop ในภาษา Swift เนี่ย มันเป็นการบ้านของวิชา Mobile App นะ (5555)

ก่อนอื่นนั้นเรามารู้จักชนิดของ Loop ใน Swift กันก่อนก็แล้วกันนะครับ

  • While
  • Repeat
  • for

While

เรามาเริ่มกันที่ while กันก่อนเลยนะครับโดยที่ while จะมี Syntax ตามนี้ครับ

swift while syntax

while ของ swift จะคล้าย ๆ กับภาษาอื่น ๆ คือ เปิดด้วย while ตามด้วย condition ต่าง ๆ แต่ตรงนี้เราไม่ต้องใส่วงเล็บนะปล่อยโดด ๆ ได้เลย จากนั้นก็ตามด้วยปีกกาครอบในส่วนของ statements เอาไว้ โดย while จะวนต่อไปเรื่อย ๆ จนกว่า condition จะมีค่าเป็น False หรือใช้คำสั่ง break ออกมา

มาลองดูตัวอย่างกัน

ตัวอย่างการใช้ While loop

จากด้านบน condition ก็คือ i <= 5 ก็คือตราบใดที่ค่า i มีค่าน้อยกว่าหรือว่าเท่ากับ 5 condition นี้จะมีค่าเป็นจริง ( true )
ส่วน statements นั้นก็คือการแสดงค่าของ i ออกมาแล้วทำการเพิ่มค่าของ i ไป 1 นั่นเอง โดย statements นั้นจะถูกทำซ้ำทุกรอบที่มีการวนลูปครับ

Repeat

มาต่อกันที่ repeat นะครับ จริง ๆ แล้วนั้นก็คือ do while นั่นเองครับแค่เปลี่ยนคำว่า do เป็น repeat ( เปลี่ยนทำไม -.- ) โดยจะมี Syntax ตามนี้ครับ

หลักการทำงานของ repeat นั้นจะเหมือน while เลยครับต่างกันแค่ตรงที่ว่า while จะตรวจสอบ condition ก่อนถ้าเป็นจริงค่อยเข้าไปทำในส่วนของ statements ส่วน repeat นั้นจะทำในส่วนของ statements โดยที่ยังไม่ตรวจสอบว่า condition นั้นเป็นจริงหรือไม่ แล้วค่อยเริ่มเช็ค condition ว่าเป็นจริงหรือปล่าว

มาลองดูตัวอย่างกัน

ตัวอย่างการใช้ Repeat

จะเห็นได้ว่าตอนแรกนั้น i มีค่าเป็น 3 แล้วถูกแสดงออกมาทาง console จากนั้นได้ทำการเพิ่มค่า i ขึ้นไป 1 เป็น 4 แล้วมาตรวจสอบ condition ว่าเป็นจริงหรือไม่ เนื่องจาก 4 นั้นมีค่าไม่น้อยกว่า 4 จึงทำให้ 4 < 4 นั้นเป็นเท็จ repeat จึงหยุดวนต่อ

มาลองเปรียบเทียบ while กับ repeat กัน

เปรียบเทียบ while กับ repeat

จะเห็นได้ว่า while นั้นตรวจสอบค่า condition ก่อนซึ่งค่าที่ตรวจสอบได้นั้นเป็นเท็จทำให้ไม่ได้เข้าไปทำในส่วนของ statements ต่อจึงไม่มีผลลัพท์แสดงออกทางหน้าจอ
ส่วน repeat นั้นจะทำในส่วนของ statements ก่อนจึงแสดงผลลัพท์ออกมาได้ก่อนที่จะตรวจสอบ condition

For

ปวดหัวกับ while ไปแล้วมาปวดหัวกับ for loop ต่อดีกว่าครับ 55 หลายคนอาจจะชินกับการใช้ Syntax ของ for แบบนี้

for(int i = 0;i <= 5;i++){
statements
}

ลืมไปได้เลยครับเพราะ Swift นั้นเราจะเขียนแบบนี้กัน

งงละสิ 55 ทีนี้ขออธิบายตัวหลัง in กันก่อนก็แล้วกันนะครับ 1…5 นั้นก็แปลว่า 1 <= 5 นั้นเองครับโดยตัว i นั้นจะใช้เป็น index ในการ loop ครับ ตัวอย่างเช่น ถ้าอยากจะแสดงเลข 1–10 ออกมาทางหน้าจอก็เขียน code แบบนี้ครับ

คำถามต่อมาคือ ถ้าอยากจะให้ 1 < 5 ละ ?
ไม่อยากครับ เขียนแบบนี้ได้เลย เปลี่ยนจาก … เป็น ..< ครับ

และยังสามารถเพิ่ม method reversed() เพื่อให้ loop ย้อนกลับได้ด้วย

for ยังทำหน้าที่เหมือน forEach อีกด้วยโดยสามารถเปลี่ยน range เป็น array ได้เลย

เอาละครับ ก็ครบไปแล้วนะครับสำหรับการใช้งาน loop ในภาษา swift ไม่ยากเลยใช่ไหมครับ เอาเป็นว่าถ้าใครอ่านแล้วยัง งง ๆ อยู่ ผมมีคลิปทึ้งท้ายไว้ให้ชมกันด้วยนะครับ ขอบคุณคร้าบบบ บบ บ ^_____^

--

--