35得票5回答
Java 8中类似于Scala的foldLeft函数的等效实现方式

Scala中很棒的foldLeft在Java 8中有什么等价物吗? 我曾经认为答案是reduce,但是reduce需要返回与其减少的对象类型相同的对象。 例如:import java.util.List; public class Foo { // this method wo...

16得票3回答
Scala折叠右侧和折叠左侧

我正在尝试学习函数式编程和Scala,所以我正在阅读Chiusano和Bjarnason的《Scala函数式编程》。在处理列表时,我不太理解fold left和fold right方法的作用。我在这里找了一下,但没有找到适合初学者的内容。因此,书中提供的代码如下: def foldRight...

16得票2回答
`foldl`的实际应用

今天我在编写一个小脚本时,我使用了foldl而不是foldl'。结果我遭受了stack overflow,所以我导入了Data.List (foldl')并对此感到高兴。这就是我使用foldl的默认工作流程。当惰性版本无法求值时,只需使用foldl'。 Real World Haskell认...

10得票6回答
当满足某些条件时,使用Scala的foldLeft函数

如何在Scala中模拟以下行为?即在累加器满足某些特定条件的情况下继续折叠。 def foldLeftWhile[B](z: B, p: B => Boolean)(op: (B, A) => B): B 例如scala> val seq = Seq(1, 2, 3, 4)...