scala - foldLeft 如何在 (0 /: (1 to 6))(_+_) 中求值?
问题描述
我正在探索 Scala foldLeft 和它的 operator /:
。我在这里看到了一篇文章。
这里/:
用于评估 1 到 6 的总和为
(0 /: (1 to 6))(_+_)
我知道的 foldLeft 语法就像Range./:(Initial Value){(z, i) => some anonymous function definition}
如何(0 /: (1 to 6))(_+_)
评估以及如何运作?
解决方案
以 结尾的运算符:
是右结合的。这意味着它与显式使用点表示法相同(1 to 6)./:(0)(_+_)
这是相同的原因1 :: 2 :: Nil
不必是1 :: (2 :: Nil)
推荐阅读
- python - Python Flask 无法在我的机器上托管后端
- ios - Swift - Xcode 11.3 中的不同推送动画?
- spring - 如何将加权平均 MongoDB 查询转换为 Spring Data Query?
- asp.net - 带有 React 的 ASP.NET Core 3.1 - 服务器端渲染/预渲染 - 需要两个 Web 服务?
- python - 如何遍历 CSV 中的列以查找哪一个包含 Python 中的日期行(Pandas)
- sql - 将查询结果分配给变量以用于案例语句
- excel - 打开文件,将文件重命名为变量,并能够使用新名称在整个宏中激活窗口
- java - Firebase 既没有调用 onDataChange 也没有调用 onCancelled
- css - 卡在第一次过渡时隐藏在 chrome 中
- python - Python2 标记化并添加到字典