我注意到,当我使用期望其他函数作为参数的函数时,有时我可以这样做:
someFunction(firstParam,anotherFunction)
但其他时候,编译器给我一个错误,告诉我应该写一个这样的函数,以便它把它当作一个部分应用的函数:
someFunction(firstParam,anotherFunction _)
例如,如果我有这个:
object Whatever {
def meth1(params:Array[Int]) = ...
def meth2(params:Array[Int]) = ...
}
import Whatever._
val callbacks = Array(meth1 _,meth2 _)
为什么我不能有如下代码:
val callbacks = Array(meth1,meth2)
在什么情况下编译器会告诉我添加_
?