Latest web development tutorials

funzione di Scala chiamata per nome

funzione Scala funzione Scala

Scala interprete in due modi parametri della funzione di analisi (argomenti delle funzioni) quando:

  • Per una chiamata (call-by-value): valore dell'espressione parametro viene prima calcolato e poi applicato alle funzioni interne;
  • Per nome di chiamata (call-by-name): L'espressione parametro non viene applicato direttamente al calcolo di funzioni interne

Prima di entrare all'interno della funzione viene chiamata per valore è stato calcolato sul valore dell'espressione parametro, e chiamare per nome l'espressione argomento è un valore calcolato all'interno della funzione.

Questo provoca un fenomeno, chiamando ciascuno per nome quando l'interprete sarà calcolata una volta che il valore dell'espressione da utilizzare.

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

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

Esempi di quanto sopra, abbiamo dichiarare un metodo ritardata chiamato per nome per impostare il nome della variabile e immettere dati utilizzando la => simbolo. L'attuazione del codice di cui sopra, i risultati di output sono i seguenti:

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

Esempi del metodo per stampare un ritardo informazioni che indica il metodo, metodo di stampa e quindi ritardano il valore ricevuto, e infine tornare a t.

funzione Scala funzione Scala