Latest web development tutorials

Scala chamada de função pelo nome

função Scala função Scala

intérprete Scala de duas maneiras parâmetros função analítica (argumentos de função) quando:

  • Para uma chamada (call-by-value): valor da expressão parâmetro é calculada primeiro e depois aplicado às funções internas;
  • Pela chamada nome (call-by-name): A expressão de parâmetro não é aplicado diretamente para o cálculo das funções internas

Antes de entrar dentro da função é chamado pelo valor foi calculado sobre o valor da expressão parâmetro e chamar pelo nome de expressão argumento é um valor calculado dentro da função.

Isso faz com que um fenômeno, chamando cada um pelo nome quando o intérprete será calculado uma vez que o valor da expressão de usar.

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

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

Exemplos do acima, nós declaramos um método retardado chamado por nome para definir o nome da variável e digitar usando o símbolo =>. Implementação do código acima, os resultados de saída são as seguintes:

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

Os exemplos do método para imprimir um atraso informações indicando o método, o método de impressão e depois retardar o valor recebido, e finalmente voltar a t.

função Scala função Scala