问题标签 [foldleft]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
203 浏览

scala - foldLeft 与 Double

我正在尝试使用foldLeft来计算 a 中所有的Double总和Vector。使用reduce效果很好,但我只是不知道为什么它不使用foldLeft

我用谷歌搜索了一些使用foldLeftwithDouble的例子,上面的语法似乎有效

任何人都可以解释问题出在哪里?

谢谢

0 投票
3 回答
376 浏览

scala - 在 Scala 中决定使用 foldleft() 还是 Seq.newBuilder

我有一些代码需要在迭代另一个序列时将元素添加到序列中。在scala中哪种方式是“首选”或者更好的方式,为什么?:

方式一:

方式二:

0 投票
2 回答
434 浏览

scala - Scala中foldLeft方法的类型不匹配错误

我有一个在 Scala 中使用 foldLeft 的方法。

该方法有两个用于匿名函数的参数,因此我通过删除形式参数将其替换为 _。

问题是我有类型不匹配错误消息。

在此处输入图像描述

可能有什么问题?

0 投票
2 回答
999 浏览

haskell - `foldl` 的实际使用

今天,当我在编写一个小脚本时,我使用foldlfoldl'. 我得到了stack overflow,所以我导入Data.List (foldl')并对此感到满意。这是我的默认工作流程foldl。只foldl'在懒惰的版本落下评估时使用。

Real World Haskell说我们应该在大多数情况下使用foldl'而不是。Foldr Foldl Foldl'foldl

通常选择在foldr和之间foldl'

...

但是,如果组合函数的第一个参数是惰性的,foldl则可能会愉快地返回foldl'遇到异常的结果。

和一个给定的例子:

好吧,我很抱歉,但这是相当学术的,有趣但学术的例子。所以我问,有没有实际使用的例子foldl?我的意思是,当我们无法替换foldlfoldl'.

PS 我知道,很难定义 term practical,但我希望你能理解我的意思。

PPS我明白了,为什么懒惰foldl是haskell的默认设置。我不要求任何人搬山并默认使用严格的版本。我只是对foldl函数独占使用的例子很感兴趣:)

PPPS 好吧,foldl欢迎任何有趣的用法。

0 投票
2 回答
1809 浏览

scala - Scala - 按顺序但独立地执行任意数量的期货

我试图找出按顺序执行一系列期货的最巧妙方法,其中一个期货的执行取决于前一个。我正在尝试为任意数量的期货执行此操作。

用户案例:

  • 我已经从我的数据库中检索了一些 Id。
  • 我现在需要在 Web 服务上检索一些相关数据。
  • 找到有效结果后,我想停止。
  • 我只关心成功的结果。

并行执行所有这些,然后解析返回的结果集合不是一种选择。我必须一次执行一个请求,并且只有在前一个请求没有返回结果时才执行下一个请求。

当前的解决方案是沿着这些思路。使用 foldLeft 执行请求,然后仅在前一个未来满足某些条件时才评估下一个未来。

这样做的最大缺点是a)即使我得到了我满意的结果,我也会继续处理所有项目;b)一旦我找到了我想要的结果,我就会继续评估谓词。在这种情况下,它是一个简单的 if,但实际上它可能更复杂。

我觉得我错过了一个更优雅的解决方案。

0 投票
1 回答
976 浏览

list - 在scala中写反向,使用foldleft

这是一个实现:

我不明白编译器对 (acc,h); 的理解是什么。最初,f 函数遇到 (ListA,l),它们是 2 个列表,那么 Cons 是否也使用 2 个列表?

谢谢

0 投票
1 回答
120 浏览

scala - 使用 foldleft 操作 SortedMap

我有一个转换以下数据类型的代码:

从:SortedMap[Long, SortedMap[String, Double]] 到:SortedMap[String, Array[Double]]

谁能解释一下这段代码是如何进行上述操作的?

0 投票
1 回答
666 浏览

scala - Scala foldLeft 参数太多

我有一个名为的元组列表,列表中的item每个索引都包含 2 x Doubles 例如

我想对列表中的每个索引执行计算item,我正在尝试使用foldLeft. 这是我的代码:

_._2访问item索引 1 处_._1的当前元组并访问item索引 0 处的当前元组。例如,对于第一个折叠,它实际上应该是:

第二折:

第三折:

我的方法在哪里:

它给了我一个错误,说参数太多,foldLeft因为它需要 2 个参数。 myMethod返回 a Double,并且_是 a Double。那么,编译器看到的这个额外参数在哪里呢?

如果我这样做:

它总结了Double的每个索引中的所有第一个 s item- 将 _._1 替换为 _._2 总结了Double的每个索引中的所有第二个 s item

任何帮助是极大的赞赏!

0 投票
1 回答
1824 浏览

scala - Try[Int] 的 Scala 类型错误

我对我不理解的类型有疑问。在下面的代码中,我有两个方法half1half2它们完全相同,除了half1显式指定的返回类型。然而,当我在 foldLeft 中使用这两种方法时half会导致编译器错误。这是代码。设置的线路val c有问题。

我得到的错误是:

我的问题是:为什么会half1在 foldLeft 中出现,但half2没有?我正在使用 Scala 2.11.5

0 投票
2 回答
552 浏览

scala - Scala:是否可以从 leftfold 获得部分应用的功能?

我目前正在学习 Scala,我只是想知道 fold-left。由于 fold-left 是柯里化的,因此您应该能够获得具有以下第一个参数的部分应用函数 (PAF)。

但实际上,我有一个错误。

然后我通过 fold-right 尝试了同样的事情,如下所示

这样,它就正确了,我可以得到一个 PAF,例如((Int, Int) => Int) => Int

我知道我可以通过使用 foldLeft 方法获得 PAF,但我想知道是否可以用 '/:' 表示它。