【发布时间】:2013-08-05 19:05:42
【问题描述】:
我有一个简单的闭包,我希望能够在我的代码中使用它来测量任何其他闭包所需的时间。它看起来像这样:
def benchmark = {name,closure ->
start = System.currentTimeMillis()
ret = closure.call()
now = System.currentTimeMillis() println(name + " took: " + (now - start))
ret
}
当它从同一个作用域调用时,它可以工作,如下所示:
benchmark('works') { println("Hello, World\n")}
但它在调用嵌套范围时似乎不起作用
def nested()
{
benchmark('doesnt_work'){print("hello")}
}
nested()
【问题讨论】: