【发布时间】:2016-09-03 18:13:39
【问题描述】:
我看到了一些这样的代码。 从 REPL 测试来看,“/:”似乎遍历字符并重复调用 incr。但我找不到这种语法的任何文档。 /: 语法在这里是什么意思?
val chars = List('a','b')
def incr(acc:Map[Char, Int], c:Char) = {
val count = (acc get c).getOrElse(0) + 1
acc + ((c, count))
}
(Map[Char,Int]() /: chars)(incr)
【问题讨论】:
-
检查地图的scaladoc ;) scala-lang.org/api/current/index.html#scala.collection.Map@/…
-
好像是 foldLeft 吧?
-
这只是一个方法调用,就像任何其他方法调用一样。它是 not 特殊语法。事实上,Scala 中的东西很少。
标签: scala