Latest web development tutorials

Scala Teilfunktion Anwendung

Scala-Funktion Scala - Funktion

Scala Teil Anwendung der Funktion ist ein Ausdruck, Sie bieten nicht alle notwendigen Parameter der Funktion müssen nur teilweise zur Verfügung zu stellen, oder Sie die erforderlichen Parameter nicht zur Verfügung stellen.

Die folgenden Beispiele geben wir Informationen melden:

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

Die Umsetzung des obigen Codes ist die Ausgabe:

$ 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

Beispiel log () Methode hat zwei Parameter: Datum und Nachricht. Wir riefen dreimal während der Programmausführung sind die Parameterwerte das gleiche Datum, eine andere Nachricht.

Wir können die obige Methode der partiellen Anwendung der Funktionsoptimierung, gebunden ersten Date-Parameter verwenden, den zweiten Parameter einen Unterstrich (_) verwenden, um das fehlende Argument-Liste und den Index der neuen Funktion des Wertes der Variablen zugewiesen zu ersetzen. Beispiele für die oben wird wie folgt geändert:

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

Die Umsetzung des obigen Codes ist die Ausgabe:

$ 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

Scala-Funktion Scala - Funktion