Let\'s say I want to make a little wrapper along the lines of:
def wrapper(f: (Any) => Any): Any = {
println(\"Executing now\")
val res = f
println(\"Ex
In your case you are already executing the function println
and then pass the result to your wrapper while it is expecting a function with one arguments (Any
) and that return Any
.
Not sure if this answer to your question but you can use a generic type parameter and accept a function with no arguments that return that type:
def wrapper[T](f: () => T) = {
println("Executing now")
val res = f() // call the function
println("Execution finished")
res
}
wrapper {
()=>println("2") // create an anonymous function that will be called
}