我看到了一些像这样的代码。 从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)
答案 0 :(得分:1)
* Note: `/:` is alternate syntax for `foldLeft`; `z /: xs` is the same as
* `xs foldLeft z`