Latest web development tutorials

Scala función de llamada por su nombre

función Scala función Scala

intérprete Scala de dos maneras parámetros de la función de análisis de función (argumentos) cuando:

  • Para una llamada (Call-by-value): valor de la expresión de parámetro se calcula en primer lugar y luego se aplica a las funciones internas;
  • Por llamada nombre (Call-by-name): La expresión de parámetro no se aplica directamente sobre el cálculo de las funciones internas

Antes de entrar dentro de la función es llamada por valor se ha calculado sobre el valor de la expresión de parámetro, y llamar por su nombre de argumento expresión es un valor calculado dentro de la función.

Esto causa un fenómeno, llamando a cada nombre cuando el intérprete se calculará una vez que el valor de la expresión para su uso.

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

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

Ejemplos de lo anterior, declaramos un método retardada llamado por su nombre para definir el nombre de la variable y escribir con el símbolo> =. Aplicación del código anterior, los resultados de salida son los siguientes:

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

Los ejemplos del método para imprimir una información de retardo que indica el, método de impresión método y luego retrasar el valor recibido, y, finalmente, volver a t.

función Scala función Scala