1

有人可以把它翻译成对我有意义的东西吗?(在学习Scala的过程中,有java/c/assembly的背景):

broadcast(wireFormat.render(msg),selectedResources.map(_.resource).toSet.asJava).map(_ => msg)

我理解/了解其中的大部分内容,但有两个部分仍然有点模糊:1)我假设地图(.resource)正在针对“任何”的字段 [resource] 进行操作——通过它——对吗?2)语句最后部分的“=> msg”操作是做什么的?

TIA。

编辑:由于某种原因,下划线字符未在问题 #2 中呈现,因此应为:

_ => msg
4

1 回答 1

1

解码:selectedResources.map(_.resource)等于selectedResources.map(x => x.resource)(1)。_称为占位符。(1).toSet 可能会返回一个 Scala Set,然后使用它转换为 java.util.SetasJava

.map(_ => msg)只不过是.map(x => msg)。基本上你没有使用任何元素。例如:

val msg = "hey"
scala> List(1,2,3).map(_ => hey)
res0: List[String] = List(hey,hey,hey)
于 2013-08-02T15:28:04.963 回答