问题标签 [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.
scala - foldLeft 与 Double
我正在尝试使用foldLeft
来计算 a 中所有的Double
总和Vector
。使用reduce
效果很好,但我只是不知道为什么它不使用foldLeft
我用谷歌搜索了一些使用foldLeft
withDouble
的例子,上面的语法似乎有效
任何人都可以解释问题出在哪里?
谢谢
scala - 在 Scala 中决定使用 foldleft() 还是 Seq.newBuilder
我有一些代码需要在迭代另一个序列时将元素添加到序列中。在scala中哪种方式是“首选”或者更好的方式,为什么?:
方式一:
方式二:
scala - Scala中foldLeft方法的类型不匹配错误
我有一个在 Scala 中使用 foldLeft 的方法。
该方法有两个用于匿名函数的参数,因此我通过删除形式参数将其替换为 _。
问题是我有类型不匹配错误消息。
可能有什么问题?
haskell - `foldl` 的实际使用
今天,当我在编写一个小脚本时,我使用foldl
了foldl'
. 我得到了stack overflow
,所以我导入Data.List (foldl')
并对此感到满意。这是我的默认工作流程foldl
。只foldl'
在懒惰的版本落下评估时使用。
Real World Haskell
说我们应该在大多数情况下使用foldl'
而不是。Foldr Foldl Foldl'说foldl
通常选择在
foldr
和之间foldl'
。...
但是,如果组合函数的第一个参数是惰性的,
foldl
则可能会愉快地返回foldl'
遇到异常的结果。
和一个给定的例子:
好吧,我很抱歉,但这是相当学术的,有趣但学术的例子。所以我问,有没有实际使用的例子foldl
?我的意思是,当我们无法替换foldl
为foldl'
.
PS 我知道,很难定义 term practical
,但我希望你能理解我的意思。
PPS我明白了,为什么懒惰foldl
是haskell的默认设置。我不要求任何人搬山并默认使用严格的版本。我只是对foldl
函数独占使用的例子很感兴趣:)
PPPS 好吧,foldl
欢迎任何有趣的用法。
scala - Scala - 按顺序但独立地执行任意数量的期货
我试图找出按顺序执行一系列期货的最巧妙方法,其中一个期货的执行取决于前一个。我正在尝试为任意数量的期货执行此操作。
用户案例:
- 我已经从我的数据库中检索了一些 Id。
- 我现在需要在 Web 服务上检索一些相关数据。
- 找到有效结果后,我想停止。
- 我只关心成功的结果。
并行执行所有这些,然后解析返回的结果集合不是一种选择。我必须一次执行一个请求,并且只有在前一个请求没有返回结果时才执行下一个请求。
当前的解决方案是沿着这些思路。使用 foldLeft 执行请求,然后仅在前一个未来满足某些条件时才评估下一个未来。
这样做的最大缺点是a)即使我得到了我满意的结果,我也会继续处理所有项目;b)一旦我找到了我想要的结果,我就会继续评估谓词。在这种情况下,它是一个简单的 if,但实际上它可能更复杂。
我觉得我错过了一个更优雅的解决方案。
list - 在scala中写反向,使用foldleft
这是一个实现:
我不明白编译器对 (acc,h); 的理解是什么。最初,f 函数遇到 (ListA,l),它们是 2 个列表,那么 Cons 是否也使用 2 个列表?
谢谢
scala - 使用 foldleft 操作 SortedMap
我有一个转换以下数据类型的代码:
从:SortedMap[Long, SortedMap[String, Double]] 到:SortedMap[String, Array[Double]]
谁能解释一下这段代码是如何进行上述操作的?
scala - Scala foldLeft 参数太多
我有一个名为的元组列表,列表中的item
每个索引都包含 2 x Double
s 例如
我想对列表中的每个索引执行计算item
,我正在尝试使用foldLeft
. 这是我的代码:
_._2
访问item
索引 1 处_._1
的当前元组并访问item
索引 0 处的当前元组。例如,对于第一个折叠,它实际上应该是:
第二折:
第三折:
我的方法在哪里:
它给了我一个错误,说参数太多,foldLeft
因为它需要 2 个参数。
myMethod
返回 a Double
,并且_
是 a Double
。那么,编译器看到的这个额外参数在哪里呢?
如果我这样做:
它总结了Double
的每个索引中的所有第一个 s item
- 将 _._1 替换为 _._2 总结了Double
的每个索引中的所有第二个 s item
。
任何帮助是极大的赞赏!
scala - Try[Int] 的 Scala 类型错误
我对我不理解的类型有疑问。在下面的代码中,我有两个方法half1
,half2
它们完全相同,除了half1
显式指定的返回类型。然而,当我在 foldLeft 中使用这两种方法时half
会导致编译器错误。这是代码。设置的线路val c
有问题。
我得到的错误是:
我的问题是:为什么会half1
在 foldLeft 中出现,但half2
没有?我正在使用 Scala 2.11.5
scala - Scala:是否可以从 leftfold 获得部分应用的功能?
我目前正在学习 Scala,我只是想知道 fold-left。由于 fold-left 是柯里化的,因此您应该能够获得具有以下第一个参数的部分应用函数 (PAF)。
但实际上,我有一个错误。
然后我通过 fold-right 尝试了同样的事情,如下所示
这样,它就正确了,我可以得到一个 PAF,例如((Int, Int) => Int) => Int
我知道我可以通过使用 foldLeft 方法获得 PAF,但我想知道是否可以用 '/:' 表示它。