Latest web development tutorials

Scala fungsi aplikasi parsial

fungsi scala fungsi scala

Scala aplikasi parsial dari fungsi adalah ekspresi, Anda tidak memberikan semua parameter yang diperlukan untuk fungsi, hanya perlu menyediakan sebagian, atau tidak memberikan parameter yang diperlukan.

Contoh-contoh berikut, kita mencetak informasi log:

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)
   }
}

Pelaksanaan kode di atas, output adalah:

$ 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

Misalnya, log () metode mengambil dua parameter: tanggal dan pesan. Kami disebut tiga kali selama eksekusi program, nilai-nilai parameter adalah tanggal yang sama, pesan yang berbeda.

Kita dapat menggunakan metode di atas aplikasi parsial optimasi fungsi, terikat parameter kencan pertama, parameter kedua untuk menggunakan garis bawah (_) untuk menggantikan daftar argumen yang hilang, dan indeks fungsi baru dari nilai yang diberikan untuk variabel. Contoh yang diamandemen di atas sebagai berikut:

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)
   }
}

Pelaksanaan kode di atas, output adalah:

$ 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

fungsi scala fungsi scala