В следующем коде Scala ивыполняется ли анонимная функция, когда передается в качестве параметра
object Timer
{
def oncePerSecond(callback:() => Unit): Unit =
{
while (true)
{
callback()
Thread.sleep(1000)
}
}
def main(args: Array[String]): Unit =
{
oncePerSecond(() =>
Console.println("Time flies... oh, you get the idea."))
}
}
анонимной функция выполняется первый, когда передается в качестве параметра , а затем снова каждый второй в цикле?
Это было бы верно для * call-by-name * также –