Latest web development tutorials

Scala fonction appel par le nom

fonction Scala fonction Scala

Scala interprète de deux manières paramètres de la fonction d'analyse (arguments de fonction) lorsque:

  • Pour un appel (appel par valeur): valeur de l'expression de paramètre est d'abord calculé puis appliqué aux fonctions internes;
  • Par nom d'appel (appel par nom): L'expression de paramètre est pas directement appliquée au calcul des fonctions internes

Avant d'entrer dans la fonction est appelée par la valeur a été calculée sur la valeur de l'expression de paramètre, et appeler par argument nom expression est une valeur calculée dans la fonction.

Cela provoque un phénomène, appelant chacun par son nom quand l'interprète sera calculé une fois la valeur de l'expression à utiliser.

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

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

Des exemples de ce qui précède, nous déclarons une méthode différée appelé par son nom pour définir le nom de la variable et le type en utilisant le symbole =>. La mise en œuvre du code ci-dessus, les résultats de sortie sont les suivantes:

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

Des exemples du procédé pour imprimer une information de retard indiquant le procédé, un procédé d'impression, puis de retarder la valeur reçue, et enfin revenir à t.

fonction Scala fonction Scala