Latest web development tutorials

Scala Funktionsaufruf nach Name

Scala-Funktion Scala - Funktion

Scala-Interpreter auf zwei Arten analytische Funktion Parameter (Funktionsargumente), wenn:

  • Für einen Anruf (Call-by-value): Wert des Parameters Ausdruck wird zuerst berechnet und dann auf die internen Funktionen angewendet wird;
  • Mit dem Namen Call (Call-by-name): Der Parameter Ausdruck ist nicht direkt auf die Berechnung der internen Funktionen angewendet

Bevor in der Funktion Eingabe von Wert aufgerufen wird, hat sich auf den Wert des Parameters Ausdruck berechnet worden ist, und rufen nach Name Argument Ausdruck ist ein Wert innerhalb der Funktion berechnet.

Dies führt zu einem Phänomen, das jeder von Namen zu nennen, wenn der Dolmetscher wird berechnet, sobald der Wert des Ausdrucks zu verwenden.

object Test {
   def main(args: Array[String]) {
        delayed(time());
   }

   def time() = {
      println("获取时间,单位为纳秒")
      System.nanoTime
   }
   def delayed( t: => Long ) = {
      println("在 delayed 方法内")
      println("参数: " + t)
      t
   }
}

Beispiele für die oben erklären wir eine verzögerte Methode mit Namen genannt den Variablennamen zu setzen und geben Sie das Symbol => verwenden. Die Umsetzung des obigen Codes sind die Ausgabeergebnisse wie folgt:

$ scalac Test.scala 
$ scala Test
在 delayed 方法内
获取时间,单位为纳秒
参数: 241550840475831
获取时间,单位为纳秒

Beispiele für das Verfahren eine Verzögerungsinformation, die die Verfahren, Druckverfahren zu drucken, und dann den empfangenen Wert zu verzögern, und kehren schließlich zu t.

Scala-Funktion Scala - Funktion