我注意到,当我与期望其它功能参数的函数的工作,有时我能做到这一点:什么时候我必须将我的方法作为Scala中的部分应用函数处理?
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)
在什么情况下,编译器告诉我补充_
?
请注意,这不是一个*部分功能*,这是一个*部分应用功能*。 –
Thx,只是纠正它.. – agilesteel
不应该(r:RichAPI)(r:ThnirdPartyAPI)? –