问题标签 [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 投票
1 回答
124 浏览

scala - foldleft HList 上的“发散隐式扩展”-错误

我正在尝试进行类型计算以构建一些嵌套的集合结构,但是当我尝试将类似 Map 的集合与 List [ T] 作为键或值类型。这种嵌套结构有效:

这种结构给出了错误:

更新:如果我构建一个自定义转换器,它就可以工作。我使用先前问题HList to nested Map的答案来构建它。任何建议为什么?

0 投票
2 回答
539 浏览

scala - Scala:地图+过滤器而不是 foldLeft

是否可以通过 Scala 中的 map 和 filter 的某种组合来替换 foldLeft 函数?例如在这个任务上。

输入是三元组列表(学生姓名、课程、年级):

然后对于每个学生,他们的课程和成绩列表应该被映射。使用 foldLeft 它是这样的:

输出:

如何仅使用 map 和 filter 函数来实现相同的输出?到目前为止,我有这个,但输出略有不同。

0 投票
1 回答
47 浏览

functional-programming - “报价”显示在输出中,同时在 Scheme 中附加左折叠

我正在尝试使用 fold-left 和 append 连接方案中的列表(用于更大的功能)。但是,我不断得到如下所示的输出:

这是我的代码:

为什么这不能与以下工作完全相同:

此代码输出一个简单的列表:

fold-left 不是和第二个代码块完全一样吗?我可以更改什么以获得简单的列表输出?

0 投票
2 回答
135 浏览

scala - Scala - Scanleft,在迭代中返回值而不在下一轮使用它

我有一个清单

我想做的是

它返回 List(1, 2, 6, 12, 20) 而不是 List(1, 2, 6, 24, 120)

有这样的API吗?

谢谢你,科斯米尔

0 投票
2 回答
424 浏览

haskell - 根据 foldr 定义 foldl

我目前正在阅读一本关于 Haskell 的书。在其中,它编写了自己的 foldl 函数版本,但使用的是 foldr。我不跟随。

  1. 为什么 foldr 有 4 个参数?
  2. id 函数有什么作用?
0 投票
1 回答
121 浏览

ocaml - 如何从一个列表中制作非递减列表?不使用递归,使用 fold_left/fold_right。OCaml

这是我对这个问题的想法,但我无法正确输入fold_left方法。

例子:

0 投票
6 回答
4270 浏览

scala - Scala foldLeft,而某些条件为真

如何在 Scala 中模拟以下行为?即在满足蓄能器的某些特定条件时继续折叠。

例如

更新:

根据@Dima 的回答,我意识到我的意图有点副作用。所以我让它与 同步takeWhile,即如果谓词不匹配就没有进步。并添加更多示例以使其更清晰。(注意:这不适用于Iterators)

0 投票
1 回答
224 浏览

haskell - 使用 foldl 的 Haskell 函数组合

我在haskell中定义了以下函数:

此函数采用整数数组[10, 4, 3]和字符串运算符*,并将运算符应用于数组中的最后两项并返回以下数组[10, 7]

这是一个中间函数的一部分,最终结果是一个反向波兰符号评估函数。

如何利用step我定义的功能并foldl执行以下操作

以示例字符串:"10 4 3 + 2 * -".

将每个元素添加到字符串中,直到遇到第一个运算符,如下所示:

10, 4, 3然后将运算符应用于堆栈顶部的两个元素并将结果放入堆栈:

10, 7.

如此继续,直到评估最终答案 ( -4)

回答:

为了完整起见,这是我在@talex 的帮助下得到的功能

0 投票
3 回答
355 浏览

scala - 在 Scala 中反转列表时,类型 B => List[B] 的表达式不符合预期的类型 List[Int]

使用 foldLeft 函数在 Scala 中使用函数来反转列表:

它出现编译错误:Expression of type List[B_] => List[Int] doesn’t comforrm to expected type List[Int](PS:我知道我的解决方案不正确)

我能知道这是什么意思吗?在_:::c这里, the_代表cin (c, _), andc是一个List[Int]类型,所以在我看来,_:::c应该是两个 的串联List[Int]。它应该符合预期的类型,对吧?

0 投票
2 回答
202 浏览

haskell - Haskell foldl 和 foldl1 产生“没有由文字引起的 (Num [Char]) 的实例”