println(_) 是什么意思?

what is does it mean println(_)?

我在scala中有这段代码

val wordCounts = logData.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
wordCounts.foreach(println(_))

那么 println(_) 是什么意思,它应该打印什么?

"Placeholder Syntax for Anonymous Functions" of the Spec

部分所述
println(_)

是匿名函数字面量的快捷方式

w => println(w)

这又是类似

的快捷方式
(w: (String, Int)) => println(w)

在这种特殊情况下。

因此,

wordCounts.foreach(println(_))

简单地打印 wordCounts.

的每个元素

注意还可以写得更短:

wordCounts foreach println