我正在研究scala foldLeft及其运算符/:
。我碰到了一篇文章here。
此处/:
用于将1到6的总和评估为
(0 /: (1 to 6))(_+_)
我知道的foldLeft的语法就像Range./:(Initial Value){(z, i) => some anonymous function definition}
您能解释一下(0 /: (1 to 6))(_+_)
的评估方式以及为什么有效吗?
谢谢。
答案 0 :(得分:1)
以:
结尾的运算符是右联想。这意味着它与显式使用点符号(1 to 6)./:(0)(_+_)
与1 :: 2 :: Nil
不一定是1 :: (2 :: Nil)