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

การใช้ REPL

Scala แบบโต้ตอบ

การใช้ REPL เป็นบทเรียน Scala for Backend Engineering & Functional Programming ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Scala for Backend Engineering & Functional Programming และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน

REPL คืออะไร

REPL ย่อมาจาก วงจรอ่าน-ประเมินผล-แสดงผล เป็นเชลล์แบบโต้ตอบที่ให้คุณพิมพ์นิพจน์ Scala และเห็นผลลัพธ์ได้ทันที

คุณเริ่มใช้งานได้โดยเรียกใช้ scala (หรือ scala-cli repl) ในเทอร์มินัล วิธีนี้เป็นวิธีที่รวดเร็วที่สุดในการทดลองใช้ภาษาโดยไม่ต้องเขียนโปรแกรมทั้งโปรแกรม

นิพจน์แรกของคุณ

พิมพ์นิพจน์ใดก็ได้แล้วกด Enter จากนั้น REPL จะประเมินนิพจน์และแสดงผลลัพธ์ ชนิดข้อมูล และชื่อที่สร้างขึ้น

ตัวอย่างเช่น เมื่อพิมพ์ 1 + 1 จะแสดงผลลัพธ์ประมาณ val res0: Int = 2

object Main {
  def main(args: Array[String]): Unit = {
    println(1 + 1)
  }
}

ตัวแปร res

ผลลัพธ์ทุกค่าที่คุณคำนวณจะถูกบันทึกลงในตัวแปรชื่อ resN โดยอัตโนมัติ (res0, res1, ...)

คุณสามารถนำชื่อเหล่านี้กลับมาใช้ในนิพจน์ถัดไปได้ ทำให้ REPL ให้ความรู้สึกเหมือนเครื่องคิดเลขที่คำนวณต่อเนื่อง

object Main {
  def main(args: Array[String]): Unit = {
    val res0 = 2 + 3
    val res1 = res0 * 10
    println(res1)
  }
}

ข้อมูลชนิดข้อมูล

หนึ่งในคุณลักษณะที่มีประโยชน์ที่สุดคือ REPL จะแจ้ง ชนิดข้อมูล ของผลลัพธ์ทุกค่าให้คุณทราบ

การพิมพ์ "hello" จะแสดง val res0: String = hello ซึ่งช่วยให้คุณเรียนรู้ว่า Scala อนุมานชนิดข้อมูลใดให้กับนิพจน์ต่าง ๆ

object Main {
  def main(args: Array[String]): Unit = {
    val greeting = "hello"
    println(greeting)
  }
}

การกำหนดค่า

คุณสามารถกำหนดค่าให้มีชื่อภายใน REPL ได้โดยใช้ val ค่าดังกล่าวจะคงอยู่ตลอดช่วงเวลาที่เหลือของเซสชัน

เมื่อกำหนดแล้ว คุณสามารถอ้างอิงค่าเหล่านั้นได้ในบรรทัดถัดไปทุกบรรทัด

object Main {
  def main(args: Array[String]): Unit = {
    val pi = 3.14159
    val radius = 2.0
    println(pi * radius * radius)
  }
}

การกำหนดฟังก์ชัน

คุณไม่ได้จำกัดอยู่แค่การเขียนโค้ดบรรทัดเดียว คุณสามารถกำหนดฟังก์ชันโดยตรงใน REPL และเรียกใช้ได้ทันที

วิธีนี้ช่วยให้คุณสร้างฟังก์ชันช่วยเหลือขนาดเล็กและทดสอบได้ทันที

object Main {
  def square(x: Int): Int = x * x
  def main(args: Array[String]): Unit = {
    println(square(5))
  }
}

อินพุตหลายบรรทัด

หากคุณพิมพ์สิ่งที่ยังไม่สมบูรณ์ เช่น วงเล็บปีกกาเปิด REPL จะแสดงพรอมต์สำหรับเขียนต่อและรอส่วนที่เหลือ

คุณจึงสามารถวางหรือพิมพ์การกำหนดค่าหลายบรรทัดได้ตามธรรมชาติ โดย REPL จะไม่พยายามประเมินผลเร็วเกินไป

object Main {
  def main(args: Array[String]): Unit = {
    val total =
      1 +
      2 +
      3
    println(total)
  }
}

การนำเข้าใน REPL

คุณสามารถใช้ import อะไรก็ได้ภายใน REPL เช่นเดียวกับในไฟล์ วิธีนี้มีประโยชน์เมื่อต้องการนำเข้าฟังก์ชันช่วยเหลือจากไลบรารีมาตรฐาน

ตัวอย่างเช่น import scala.math.* จะทำให้คุณใช้ sqrt, abs และอื่น ๆ ได้

import scala.math.sqrt
object Main {
  def main(args: Array[String]): Unit = {
    println(sqrt(16.0))
  }
}

คำสั่ง REPL ที่มีประโยชน์

REPL มีคำสั่งพิเศษที่ขึ้นต้นด้วยโคลอน:

  • :help แสดงรายการคำสั่งทั้งหมด
  • :reset ล้างเซสชันของคุณ
  • :quit ออกจาก REPL
  • :type expr แสดงชนิดข้อมูลของนิพจน์โดยไม่เรียกใช้

เหตุใดจึงควรใช้ REPL

REPL เหมาะอย่างยิ่งสำหรับ:

  • ทดลองใช้ส่วนเชื่อมต่อโปรแกรมที่ไม่คุ้นเคยอย่างรวดเร็ว
  • ตรวจสอบว่านิพจน์ให้ผลลัพธ์เป็นชนิดข้อมูลใด
  • สร้างต้นแบบตรรกะก่อนเพิ่มลงในโครงการ
  • เรียนรู้ภาษาแบบโต้ตอบ

รวมทุกอย่างเข้าด้วยกัน

ภายในเซสชันเดียว คุณสามารถกำหนดค่า เขียนฟังก์ชัน นำเข้าไลบรารี และเชื่อมผลลัพธ์เข้าด้วยกันได้ REPL จะรักษาทั้งหมดนี้ให้อยู่ในขอบเขตการใช้งาน

ต่อไปนี้คือตัวอย่างเล็ก ๆ ที่คุณสามารถสร้างขึ้นทีละบรรทัด

object Main {
  def celsiusToF(c: Double): Double = c * 9 / 5 + 32
  def main(args: Array[String]): Unit = {
    val temps = List(0.0, 25.0, 100.0)
    println(temps.map(celsiusToF))
  }
}

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

ทดสอบความเข้าใจเกี่ยวกับ Scala REPL ของคุณ

สรุปทบทวน

คุณได้เรียนรู้ว่า REPL คือวงจรอ่าน-ประเมินผล-แสดงผลแบบโต้ตอบสำหรับ Scala

  • จะแสดงค่า ชนิดข้อมูล และชื่อ resN ที่สร้างขึ้นโดยอัตโนมัติสำหรับผลลัพธ์แต่ละรายการ
  • คุณสามารถกำหนด val และฟังก์ชันที่คงอยู่ในเซสชันได้
  • คุณสามารถใช้ import เพื่อนำเข้าไลบรารีและใช้อินพุตหลายบรรทัดได้
  • คำสั่งอย่าง :type, :reset และ :quit ใช้ควบคุมเซสชัน

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

บทเรียน “การใช้ REPL” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การใช้ REPL”

Scala แบบโต้ตอบ คุณปฏิบัติ Scala for Backend Engineering & Functional Programming ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Scala for Backend Engineering & Functional Programming หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Scala for Backend Engineering & Functional Programming บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การใช้ REPL” ใช้เวลานานแค่ไหน

บทเรียน 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