首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是println(_)?

什么是println(_)?
EN

Stack Overflow用户
提问于 2018-09-19 23:32:23
回答 1查看 132关注 0票数 1

我在scala中有一段代码

代码语言:javascript
复制
val wordCounts = logData.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)
wordCounts.foreach(println(_))

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-19 23:35:31

正如规范中的“匿名函数占位符语法”一节所解释的那样,

代码语言:javascript
复制
println(_)

是匿名函数文字的快捷方式。

代码语言:javascript
复制
w => println(w)

这反过来又是类似于

代码语言:javascript
复制
(w: (String, Int)) => println(w)

在这种特殊的情况下。

因此,

代码语言:javascript
复制
wordCounts.foreach(println(_))

只需打印wordCounts的每个元素即可。

请注意,它也可以写得更短:

代码语言:javascript
复制
wordCounts foreach println
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52415502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档