0Pricing
Swift Academy · บทเรียน

ลูป while และ repeat-while

ลูปตามเงื่อนไขและการรับประกันให้ทำงานอย่างน้อยหนึ่งครั้งด้วย repeat-while

ลูป while และ repeat-while เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

เมื่อยังไม่ทราบจำนวนรอบล่วงหน้า ลูป `while` และ `repeat-while` เป็นตัวเลือกที่เหมาะสม มาดูกันว่าแต่ละแบบใช้เมื่อใดและใช้อย่างไร

ลูป while

ลูป `while` จะประเมินเงื่อนไข *ก่อน* การวนซ้ำแต่ละรอบ: ```swift var count = 0 while count < 5 { print(count) count += 1 } // prints 0, 1, 2, 3, 4 ``` หากเงื่อนไขเป็นเท็จตั้งแต่แรก ส่วนคำสั่งภายในลูปจะไม่ทำงานเลย

ลูป repeat-while

ลูป `repeat-while` จะประเมินเงื่อนไข *หลัง* การวนซ้ำแต่ละรอบ จึงรับประกันว่าจะทำงานอย่างน้อยหนึ่งครั้ง: ```swift var x = 10 repeat { print(x) x -= 3 } while x > 0 // prints 10, 7, 4, 1 ```

while เทียบกับ repeat-while

ใช้ `while` เมื่ออาจไม่จำเป็นต้องทำงานเลย ใช้ `repeat-while` เมื่อต้องการให้ทำงานอย่างน้อยหนึ่งครั้ง: ```swift // Reading input until valid — must try at least once: repeat { input = readLine() ?? "" } while input.isEmpty ```

ลูปไม่รู้จบด้วย while true

ลูป `while true` จะทำงานตลอดไปจนกว่าจะพบ `break` ซึ่งมักใช้ในลูปเหตุการณ์: ```swift while true { let event = nextEvent() if event == .quit { break } handleEvent(event) } ``` โปรดตรวจสอบให้แน่ใจเสมอว่ามีเงื่อนไขออกจากลูปที่สามารถไปถึงได้

ตัวอย่างการนับถอยหลัง

```swift var countdown = 5 while countdown > 0 { print("\(countdown)...") countdown -= 1 } print("Liftoff!") ``` นี่เป็นรูปแบบคลาสสิกของลูป while โดยลดค่าลงจนกว่าเงื่อนไขจะเป็นเท็จ

การหลีกเลี่ยงลูปไม่รู้จบ

ข้อผิดพลาดที่พบบ่อยซึ่งทำให้เกิดลูปไม่รู้จบ: ```swift var i = 0 while i < 5 { print(i) // forgot i += 1 ← infinite loop! } ``` โปรดตรวจสอบให้แน่ใจเสมอว่าตัวแปรของลูปได้รับการปรับค่า และเงื่อนไขจะกลายเป็นเท็จในที่สุด

while กับการผูกค่าแบบ Optional

ใช้ `while` ร่วมกับการผูกค่าแบบ Optional เพื่อประมวลผลลำดับข้อมูลไปจนกว่าจะได้ค่า nil: ```swift var items: [Int] = [1, 2, 3] while let value = items.first { print(value) items.removeFirst() } ``` รูปแบบนี้เหมาะสำหรับการดึงข้อมูลออกจากคอลเลกชันจนหมดอย่างเป็นระบบ

ตัวอย่างลูปเกม

```swift var lives = 3 var gameOver = false while !gameOver { let hit = Bool.random() if hit { lives -= 1 } if lives == 0 { gameOver = true } } print("Game Over") ``` ลูปเกมจริงใช้รูปแบบนี้เพื่อให้ทำงานต่อไปจนกว่าจะถึงเงื่อนไขสิ้นสุด

ลูป while ซ้อนกัน

คุณสามารถซ้อนลูป while ได้ ซึ่งมักใช้ในการแยกวิเคราะห์ข้อมูลหรืออัลกอริทึมเมทริกซ์: ```swift var row = 0 while row < 3 { var col = 0 while col < 3 { print("(\(row),\(col))", terminator: " ") col += 1 } print(); row += 1 } ```

ตรวจสอบความเข้าใจ

ลูปใดรับประกันว่าส่วนคำสั่งภายในจะทำงาน **อย่างน้อยหนึ่งครั้ง**

สรุป

ประเด็นสำคัญ: • `while condition { }` — ตรวจสอบก่อนทำงานแต่ละรอบ และอาจไม่ทำงานเลย • `repeat { } while condition` — ตรวจสอบหลังทำงาน และทำงานอย่างน้อยหนึ่งครั้ง • `while true { ... break }` — รูปแบบที่ใช้กับลูปเหตุการณ์ • ตรวจสอบให้แน่ใจเสมอว่าตัวแปรของลูปเปลี่ยนไปในทิศทางที่จะทำให้ลูปสิ้นสุด • ใช้ `while` ร่วมกับการผูกค่าแบบ Optional เพื่อดึงข้อมูลจากลำดับอย่างเป็นระบบ ถัดไป: การวนผ่านคอลเลกชันด้วย for-in

คำถามที่พบบ่อย

บทเรียน “ลูป while และ repeat-while” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลูป while และ repeat-while” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลูป while และ repeat-while”

ลูปตามเงื่อนไขและการรับประกันให้ทำงานอย่างน้อยหนึ่งครั้งด้วย repeat-while คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ลูป while และ repeat-while” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลูป for-in กับช่วงค่า
  2. ลูป while และ repeat-while
  3. วนซ้ำคอลเลกชันด้วย for-in
  4. break, continue และคำสั่งที่มีป้ายกำกับ
← กลับไปที่ Swift Academy