ช่วงค่าในลูป
วนซ้ำด้วย to และ until
ช่วงค่าในลูป เป็นบทเรียน Scala for Backend Engineering & Functional Programming ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Scala for Backend Engineering & Functional Programming และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน
การวนซ้ำด้วยช่วง
ช่วงกับลูปเป็นคู่ที่เข้ากันได้ดี ช่วงจะมอบลำดับตัวเลขที่เป็นระเบียบสำหรับวนซ้ำ
บทเรียนนี้แสดงวิธีควบคุมลูป for กรองค่า และสร้างผลลัพธ์โดยใช้ช่วง
ลูป for พื้นฐาน
ลูปนับแบบดั้งเดิมใช้ช่วงร่วมกับ for
ตัวแปร i จะรับค่าแต่ละค่าของช่วงตามลำดับ ในที่นี้จะพิมพ์ 1 ถึง 5 โดยแยกเป็นคนละบรรทัด
for (i <- 1 to 5) println(i)การใช้ until ในลูป
เมื่อต้องระบุตำแหน่งของสิ่งต่าง ๆ เช่น ตำแหน่งในอาร์เรย์ until มักเป็นตัวเลือกที่เหมาะสม
เมธอดนี้หยุดก่อนขอบเขตหนึ่งตำแหน่ง ซึ่งตรงกับการจัดทำดัชนีที่เริ่มจากศูนย์พอดี
for (i <- 0 until 3) println(s"index $i")การกำหนดระยะก้าวในลูป
ใช้ by ร่วมกับลูปเพื่อข้ามค่าได้
โค้ดนี้พิมพ์จำนวนคู่ตั้งแต่ 0 ถึง 10 โดยเพิ่มครั้งละสอง
for (i <- 0 to 10 by 2) println(i)การนับย้อนกลับ
ระยะก้าวติดลบทำให้ลูปทำงานย้อนกลับ
นี่เป็นวิธีที่ง่ายที่สุดในการนับถอยหลัง ในที่นี้คือนับจาก 3 ถึง 1
for (i <- 3 to 1 by -1) println(i)การสะสมผลรวม
ลูปที่ทำงานกับช่วงเหมาะอย่างยิ่งสำหรับสะสมยอดรวม
ในที่นี้เราเพิ่มตัวเลขทุกตัวตั้งแต่ 1 ถึง 5 ลงในยอดรวมที่ค่อย ๆ สะสม โดยใช้ตัวแปรที่เปลี่ยนแปลงได้
var total = 0
for (i <- 1 to 5) total += i
println(total)การกรองด้วยเงื่อนไขในลูป
ลูป for สามารถมีเงื่อนไขกรองได้ ซึ่งก็คือเงื่อนไข if ที่ข้ามค่าที่ไม่ต้องการ
ในที่นี้ มีเพียงตัวเลขคู่เท่านั้นที่ผ่านเงื่อนไขกรองและถูกพิมพ์ออกมา
for (i <- 1 to 10 if i % 2 == 0) println(i)การสร้างลิสต์ด้วย for
เพิ่ม yield เพื่อเปลี่ยนลูปให้เป็นนิพจน์ที่สร้างคอลเลกชันใหม่
วิธีนี้จะสร้างลำดับของกำลังสองแทนการพิมพ์ค่าใด ๆ ออกมา
val squares = for (i <- 1 to 5) yield i * i
println(squares.toList)ลูปซ้อนกัน
คุณสามารถระบุช่วงสองช่วงใน for เดียว เพื่อสร้างลูปซ้อนกันได้
วิธีนี้จะจับคู่แต่ละแถวกับแต่ละคอลัมน์ และพิมพ์ชุดค่าผสมทั้งหมดจากตารางขนาดเล็ก
for (r <- 1 to 2; c <- 1 to 2) println(s"($r,$c)")การวนซ้ำด้วย foreach
ช่วงยังมี foreach เป็นทางเลือกแทน for ได้ด้วย
คำสั่งนี้จะเรียกใช้ฟังก์ชันกับสมาชิกแต่ละตัว นักพัฒนา Scala หลายคนชอบใช้ for เพราะอ่านง่ายกว่า แต่ทั้งสองแบบใช้งานได้
(1 to 3).foreach(i => println(i))การใช้ดัชนีกับคอลเลกชัน
รูปแบบที่ใช้กันทั่วไปคือใช้ indices เพื่อวนซ้ำผ่านคอลเลกชันตามตำแหน่ง
ช่วง indices จะตรงกับตำแหน่งที่ถูกต้องของลิสต์ ดังนั้นดัชนีแต่ละตัวจึงใช้งานได้อย่างปลอดภัย
val names = List("Ann", "Ben", "Cy")
for (i <- names.indices) println(s"$i: ${names(i)}")ตรวจสอบความเข้าใจ
ทดสอบสิ่งที่คุณเรียนรู้เกี่ยวกับช่วงในลูป
สรุปทบทวน
ช่วงเป็นพลังขับเคลื่อนลูป: ใช้ for (i <- a to b) เพื่อวนซ้ำ ใช้ by เพื่อกำหนดระยะการเพิ่ม ใช้ระยะติดลบเพื่อการนับถอยหลัง และใช้เงื่อนไขกรองเพื่อคัดกรองค่า
เพิ่ม yield เพื่อสร้างคอลเลกชันใหม่ ซ้อนช่วงเพื่อสร้างตาราง และใช้ indices เพื่อวนผ่านคอลเลกชันตามตำแหน่ง คุณเรียนจบหลักสูตรแล้ว
คำถามที่พบบ่อย
บทเรียน “ช่วงค่าในลูป” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ช่วงค่าในลูป” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Scala for Backend Engineering & Functional Programming ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ช่วงค่าในลูป”
วนซ้ำด้วย to และ until คุณปฏิบัติ Scala for Backend Engineering & Functional Programming ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Scala for Backend Engineering & Functional Programming หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Scala for Backend Engineering & Functional Programming บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ช่วงค่าในลูป” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Scala for Backend Engineering & Functional Programming นี้ได้ไหม
ได้ บทเรียน Scala for Backend Engineering & Functional Programming ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สร้างทูเพิล
- แยกส่วนทูเพิล
- สร้างช่วงค่า
- ช่วงค่าในลูป