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

การแทรกค่าลงในสตริง

s, f และ raw

การแทรกค่าลงในสตริง เป็นบทเรียน 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 บทเรียน

การแทรกสตริงคืออะไร

การแทรกสตริง ช่วยให้คุณฝังค่าไว้ในค่าคงที่สตริงได้โดยตรง แทนการต่อสตริงด้วย +

คุณเติมตัวอักษรอย่าง s, f หรือ raw ไว้หน้าสตริง แล้วใช้ $ เพื่อแทรกค่า

ตัวแทรกสตริง s

ตัวแทรกสตริง s จะแทรกค่าของตัวแปรตรงตำแหน่งที่คุณเขียน $name

นี่เป็นตัวแทรกสตริงที่ใช้บ่อยที่สุดและช่วยแทนที่การต่อสตริงที่ยุ่งยาก

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Ada"
    println(s"Hello, $name!")
  }
}

นิพจน์พร้อมวงเล็บปีกกา

สำหรับสิ่งที่ซับซ้อนกว่าตัวแปรธรรมดา ให้ครอบนิพจน์ด้วย ${ ... }

วงเล็บปีกกาจะบอกตัวแทรกสตริงว่าจุดเริ่มต้นและจุดสิ้นสุดของนิพจน์อยู่ที่ใด

object Main {
  def main(args: Array[String]): Unit = {
    val a = 4
    val b = 6
    println(s"Sum is ${a + b}")
  }
}

การเรียกเมธอดภายใน

คุณสามารถเรียกเมธอดภายใน ${ ... } ได้เช่นกัน นิพจน์ที่ถูกต้องใด ๆ ก็ใช้ได้

object Main {
  def main(args: Array[String]): Unit = {
    val word = "scala"
    println(s"Upper: ${word.toUpperCase}")
  }
}

ตัวแทรกสตริง f

ตัวแทรกสตริง f เพิ่มการจัดรูปแบบสไตล์ printf หลังนิพจน์ คุณระบุรูปแบบ เช่น %.2f สำหรับทศนิยมสองตำแหน่ง

วิธีนี้เหมาะสำหรับจำนวนเงิน เปอร์เซ็นต์ และเอาต์พุตที่จัดแนว

object Main {
  def main(args: Array[String]): Unit = {
    val price = 9.5
    println(f"Price: $$$price%.2f")
  }
}

การจัดรูปแบบจำนวนเต็ม

ตัวแทรกสตริง f ยังจัดรูปแบบจำนวนเต็มได้ด้วย เช่น %d สำหรับจำนวนเต็มฐานสิบ หรือ %05d เพื่อเติมเลขศูนย์ด้านหน้า

object Main {
  def main(args: Array[String]): Unit = {
    val id = 42
    println(f"ID: $id%05d")
  }
}

ตัวแทรกสตริง raw

ตัวแทรกสตริง raw ทำงานคล้าย s แต่ไม่ประมวลผลลำดับหลีก

ดังนั้น \n จะยังคงเป็นอักขระสองตัวคือแบ็กสแลชกับ n แทนที่จะกลายเป็นการขึ้นบรรทัดใหม่

object Main {
  def main(args: Array[String]): Unit = {
    println(raw"line1\nline2")
  }
}

เปรียบเทียบ s กับ raw

เมื่อใช้ s ลำดับหลีก \n จะกลายเป็นการขึ้นบรรทัดใหม่จริง ส่วนเมื่อใช้ raw จะยังคงเป็นอักขระตามตัวอักษร

ใช้ raw กับเส้นทาง รูปแบบนิพจน์ทั่วไป หรือสิ่งใดก็ตามที่ควรรักษาแบ็กสแลชไว้

object Main {
  def main(args: Array[String]): Unit = {
    println(s"a\nb")
    println(raw"a\nb")
  }
}

การแทรกสตริงหลายบรรทัด

การแทรกสตริงยังใช้ได้กับสตริงที่อยู่ภายในเครื่องหมายอัญประกาศสามตัว ซึ่งสามารถครอบคลุมหลายบรรทัดได้

วิธีนี้เหมาะอย่างยิ่งสำหรับสร้างเอาต์พุตแบบแม่แบบที่อ่านง่าย

object Main {
  def main(args: Array[String]): Unit = {
    val user = "Grace"
    val score = 95
    println(s"""User: $user
Score: $score""")
  }
}

การใช้อักขระดอลลาร์ตามตัวอักษร

หากต้องการพิมพ์เครื่องหมายดอลลาร์ตามตัวอักษรภายในสตริงที่มีการแทรก ให้เขียน $$

วิธีนี้ช่วยป้องกันไม่ให้ตัวแทรกสตริงเข้าใจว่าเป็นจุดเริ่มต้นของตัวแปร

object Main {
  def main(args: Array[String]): Unit = {
    val amount = 20
    println(s"Cost: $$$amount")
  }
}

นำทุกอย่างมารวมกัน

รวมตัวแปรธรรมดา นิพจน์ในวงเล็บปีกกา และการเรียกเมธอดไว้ในข้อความที่มีการแทรกสตริงหนึ่งข้อความ

object Main {
  def main(args: Array[String]): Unit = {
    val item = "book"
    val qty = 3
    val each = 12.0
    println(s"$qty ${item}s cost ${qty * each}")
  }
}

ตรวจสอบอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับตัวแทรกสตริงของคุณ

สรุปทบทวน

คุณได้เรียนรู้ตัวแทรกสตริงหลักสามแบบของ Scala:

  • s แทรกตัวแปรและนิพจน์ ${expr}
  • f เพิ่มการจัดรูปแบบสไตล์ printf เช่น %.2f และ %05d
  • raw รักษาลำดับหลีกให้เป็นอักขระตามตัวอักษร
  • ใช้ $$ สำหรับเครื่องหมายดอลลาร์ตามตัวอักษร
  • การแทรกสตริงใช้ได้กับสตริงหลายบรรทัดที่อยู่ภายในเครื่องหมายอัญประกาศสามตัวเช่นกัน

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

บทเรียน “การแทรกค่าลงในสตริง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การแทรกค่าลงในสตริง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Scala for Backend Engineering & Functional Programming ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การแทรกค่าลงในสตริง”

s, f และ raw คุณปฏิบัติ 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. การใช้ REPL
  2. val, var และชนิด
  3. นิพจน์แทนคำสั่ง
  4. การแทรกค่าลงในสตริง
← กลับไปที่ Scala for Backend Engineering & Functional Programming