【问题标题】:Scala syntax for iteration? Or something else?迭代的Scala语法?或者是其他东西?
【发布时间】: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)

【问题讨论】:

标签: scala


【解决方案1】:

来自documentation

   *  Note: `/:` is alternate syntax for `foldLeft`; `z /: xs` is the same as
   *  `xs foldLeft z`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2019-11-19
    • 2018-06-13
    • 1970-01-01
    • 2018-02-12
    相关资源
    最近更新 更多