我对
之间的区别感到困惑Array(true,false).filter(x=>x).map(println(_))
(runs fine)
和
Array(true,false).filter(_).map(println(_))
(throws error)
请注意过滤器参数:x=>x
与_
。我的表达是x=>x
和_
是同义词。怎么解释这个?
答案 0 :(得分:1)
filter(_)
被移至x => filter(x)
。请查看您的地图使用情况:map(println(_))
,它被移至map(x => println(x))
但未移至map(println(x => x))
,这是不对的,无法正常工作