我在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