我在scala中有这段代码
val wordCounts = logData.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
wordCounts.foreach(println(_))
那么println(_)是什么意思,应该打印什么?
答案 0 :(得分:2)
如"Placeholder Syntax for Anonymous Functions" of the Spec部分所述,
println(_)
是匿名函数文字的快捷方式
w => println(w)
反过来又是诸如此类的快捷方式
(w: (String, Int)) => println(w)
在这种情况下。
因此
wordCounts.foreach(println(_))
仅打印wordCounts
的每个元素。
请注意,它也可以写得更短:
wordCounts foreach println