shr*_*ama 0 scala higher-order-functions
我试图创建一个通用的包装函数,可以包装任何返回对象的方法.非常类似于这个 SO问题的答案.我尝试了以下方法:
def wrapper_function[T](f: => T): T = {
println("Executing now");
val ret: T = f;
println("Execution finished");
ret
}
def multiply2( x: Int ): Int = wrapper_function {
println("inside multiply2");
return x*2
}
Run Code Online (Sandbox Code Playgroud)
但是,我观察到在包装函数内的函数调用之后没有执行任何操作.具体而言,"执行完成"未打印.
scala> val x = multiply2(4)
Executing now
inside multiply2
x: Int = 8
Run Code Online (Sandbox Code Playgroud)
我正在使用scala 2.11.8
我在这里做错了吗?这令人费解,我将不胜感激.
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |