0
我被区别匿名函数pecularities
Array(true,false).filter(x=>x).map(println(_))
(runs fine)
和
Array(true,false).filter(_).map(println(_))
(throws error)
通知过滤器参数之间的不解:x=>x
与_
。我的表示x=>x
和_
是同义词。如何解释这一点?
我被区别匿名函数pecularities
Array(true,false).filter(x=>x).map(println(_))
(runs fine)
和
Array(true,false).filter(_).map(println(_))
(throws error)
通知过滤器参数之间的不解:x=>x
与_
。我的表示x=>x
和_
是同义词。如何解释这一点?
filter(_)
被拆成x => filter(x)
。看看你的地图用法:map(println(_))
,这是desugared到map(x => println(x))
,但不是到map(println(x => x))
,这是不对的,不会工作
看到我的回答[这里](http://stackoverflow.com/a/10365499/334519)讨论(和参考)有关您遇到的问题。 –
出于好奇,你为什么要运行'.map(println(_))'?不要认为将某些东西映射到一系列副作用是一个好主意。 – KChaloux
@KChaloux我用副作用在repl中显示什么被过滤。 –