:
所以当匿名函数有多个括号嵌套的时候,不要使用_的简写方式 ,而应该用普通匿名函数的书写方式。...比如 (x:Int,y:Int)=> (x*2)+f(y+2)
例子解析:
例子1:
scala> List(1,2,3).map(_*2)
res6: List[Int] = List(2, 4,...6)
scala> List(1,2,3).map(_*2+1)
res14: List[Int] = List(3, 5, 7)
但是吧*2 换成(2) 则出错,因为根据就近原则 _2 会在最近的括号中解析成匿名函数...$times(2))
List(1,2,3).map((*2)+1)
^
如果括号内只有_ 本身,则本身构不成一个表达式expressions,所以如下是允许的
scala> List(1,2,3...:expressions,所以如下是允许的
scala> List(1,2,3,4).foreach(print(_))
1234
(.toString) 是一个在括号()里的表达式,会expand解析成匿名函数