การแทรกค่าลงในสตริง
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และ%05drawรักษาลำดับหลีกให้เป็นอักขระตามตัวอักษร- ใช้
$$สำหรับเครื่องหมายดอลลาร์ตามตัวอักษร - การแทรกสตริงใช้ได้กับสตริงหลายบรรทัดที่อยู่ภายในเครื่องหมายอัญประกาศสามตัวเช่นกัน
คำถามที่พบบ่อย
บทเรียน “การแทรกค่าลงในสตริง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแทรกค่าลงในสตริง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การใช้ REPL
- val, var และชนิด
- นิพจน์แทนคำสั่ง
- การแทรกค่าลงในสตริง