在(0 /:(1至6))(_ + _)中如何评估foldLeft?

时间:2018-11-14 08:53:22

标签: scala

我正在研究scala foldLeft及其运算符/:。我碰到了一篇文章here

此处/:用于将1到6的总和评估为

(0 /: (1 to 6))(_+_)

我知道的foldLeft的语法就像Range./:(Initial Value){(z, i) => some anonymous function definition}

您能解释一下(0 /: (1 to 6))(_+_)的评估方式以及为什么有效吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

:结尾的运算符是右联想。这意味着它与显式使用点符号(1 to 6)./:(0)(_+_)

相同

1 :: 2 :: Nil不一定是1 :: (2 :: Nil)

的原因相同