0Pricing
Scala for Backend Engineering & Functional Programming · บทเรียน

ช่วงค่าในลูป

วนซ้ำด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. สร้างทูเพิล
  2. แยกส่วนทูเพิล
  3. สร้างช่วงค่า
  4. ช่วงค่าในลูป
← กลับไปที่ Scala for Backend Engineering & Functional Programming