Latest web development tutorials

Scala ประยุกต์ใช้ฟังก์ชั่นบางส่วน

ฟังก์ชั่นสกาล่า ฟังก์ชั่นสกาล่า

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

ตัวอย่างต่อไปนี้เราพิมพ์ข้อมูลเข้าสู่ระบบ:

import java.util.Date

object Test {
   def main(args: Array[String]) {
      val date = new Date
      log(date, "message1" )
      Thread.sleep(1000)
      log(date, "message2" )
      Thread.sleep(1000)
      log(date, "message3" )
   }

   def log(date: Date, message: String)  = {
     println(date + "----" + message)
   }
}

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

$ scalac Test.scala
$ scala Test
Mon Dec 02 12:52:41 CST 2013----message1
Mon Dec 02 12:52:41 CST 2013----message2
Mon Dec 02 12:52:41 CST 2013----message3

ตัวอย่างเช่นการเข้าสู่ระบบ () วิธีการจะใช้เวลาสองพารามิเตอร์: วันที่และข้อความ เราเรียกว่าสามครั้งในช่วงการทำงานของโปรแกรม, ค่าพารามิเตอร์เป็นวันเดียวกันมีข้อความที่แตกต่างกัน

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

import java.util.Date

object Test {
   def main(args: Array[String]) {
      val date = new Date
      val logWithDateBound = log(date, _ : String)

      logWithDateBound("message1" )
      Thread.sleep(1000)
      logWithDateBound("message2" )
      Thread.sleep(1000)
      logWithDateBound("message3" )
   }

   def log(date: Date, message: String)  = {
     println(date + "----" + message)
   }
}

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

$ scalac Test.scala
$ scala Test
Mon Dec 02 12:53:56 CST 2013----message1
Mon Dec 02 12:53:56 CST 2013----message2
Mon Dec 02 12:53:56 CST 2013----message3

ฟังก์ชั่นสกาล่า ฟังก์ชั่นสกาล่า