这将编译斯卡拉采集功能不同的方式来调用
//legal
def s1 = List("aaa","bbb").collect { case x => x.split("\\w") }
下没有。
// all illegal
// missing parameter type for expanded function ((x$2) => x$2.split{<null>}("\\w"{<null>} {<null>}){<null>}
def s2 = List("aaa","bbb").collect (_.split("\\w"))
// missing parameter type
def s3 = List("aaa","bbb").collect (x => x.split("\\w"))
// type mismatch; found : String => Array[java.lang.String] required: PartialFunction[java.lang.String,?]
def s4 = List("aaa","bbb").collect ((x:String) => x.split("\\w"))
虽然scala编译器正在尽我所能与我沟通,我的错误在哪里,它就在我头上。
,这也编译
def s2 = List("aaa","bbb").find (_.split("\\w").length > 2)
使得这一切更加混乱时使用何种
好了,所以它实际上是一个特例,因为它具有比像找到一个方法不同的签名。我可以忍受这一点,谢谢 – npiv