【发布时间】:2013-07-01 04:52:34
【问题描述】:
我对两者的区别感到困惑
Array(true,false).filter(x=>x).map(println(_))
(runs fine)
和
Array(true,false).filter(_).map(println(_))
(throws error)
注意过滤器参数:x=>x 与 _。我认为x=>x 和_ 是同义词。这要怎么解释?
【问题讨论】:
-
请参阅我的回答 here,了解您在此处遇到的问题的一些讨论(和参考)。
-
出于好奇,你为什么要运行
.map(println(_))?不要认为将某些内容映射到副作用列表是一个好主意。 -
@KChaloux 我使用副作用在 repl 中显示被过滤的内容。
-
@Dominykas Repl 通常会为您打印出您的结果。唯一遇到麻烦的情况是当您有 很多 个值并且 Repl 用省略号截断它们时。在任何情况下,对于有副作用的打印,您可能需要
.foreach(println(_))(或只是foreach println _)
标签: scala anonymous-function iterable