问题标签 [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 回答
64 浏览

coq - FoldR 在有限列表上使用 FoldL

我在这里读到,在有限列表上可以通过以下方式(使用 coq)根据 foldL 编写 foldR:

现在我想证明foldfold'是平等的:

但我无法关闭这个定理。

有人可以帮助我吗?

编辑

感谢 Meven Lennon-Bertrand 的回答,我能够关闭这个定理:

0 投票
1 回答
107 浏览

list - 使用 foldl,编写一个将整数列表转换为整数的函数?

我正在尝试编写一个dec2int将整数列表转换为整数的函数。我唯一的限制是我必须使用foldl.

该函数的类型签名是:

该功能应该以这种方式工作:

我在这里找到了一个我理解的可行解决方案:

我尝试编写自己的解决方案,foldl根据需要使用:

但是,我收到此错误:

我意识到 的值length xs必须是恒定的。但是,我希望值因我的功能而异。

我想以这种方式工作

如何在递归期间引用列表?我希望length xs每次更改的值foldl都被递归调用?

0 投票
1 回答
46 浏览

json - Scala Argonaut 在列表中折叠?

我对 Argonaut 很陌生(我被迫使用它,因为代码库较旧,使用的是 scalaz 的旧版本,我们无意更新它,因为我们正在从头开始重写这个过时的代码),我'正在尝试找到一种将一些数据转储到 JSON 中的方法。

我有一个名为Magnitude. 为简单起见,将其定义为:

case class Magnitude(bandname: String)

我想要的是一个接收 aList[Magnitude]和输出的函数Json,我可以将它们与其他Json.

现在,我正在做:

然后说我有一个实例化List[Magnitude]

当我打电话时magnitudeFields(magList)

我只收到bandName: K和前面的其他三个条目不是函数输出的 JSON 的一部分:

而不是我想要的,即:

任何帮助将不胜感激。jEmptyObject我怀疑我在使用默认值时做错了什么,foldLeft并且可能需要jArray在某些时候使用类似的东西(函数返回List[Json],但我不确定我应该怎么做。

0 投票
1 回答
105 浏览

scala - 如何在 spark Scala 的 foldLeft 中使用条件?

`错误:类型不匹配。必需:(sql.DataFrame, String) => sql.DataFrame,找到:(sql.DataFrame, String) => Any

我正在尝试遍历数据框中的所有列。所以我使用了foldLeft。需要根据以下情况替换数据:例如:如果列类型是Integer,则执行一个操作,如果列类型是另一种类型,则需要执行另一个操作..但是获取类型如果我在 foldLeft 中使用条件,则会出现不匹配错误。请有人帮忙。

0 投票
2 回答
45 浏览

regex - 如何使用正则表达式使用 foldLeft

我正在尝试使用 foldLeft 将用户名替换为隐藏值并将其打印出来

但是它仍在打印出用户名,并且我收到错误消息message.replaceAll,说:

将“$”锚定在意外位置

0 投票
2 回答
170 浏览

haskell - Haskell 函数 (map,foldr, foldl)

0 投票
1 回答
57 浏览

haskell - haskell 中的 foldl(多级 foldl)问题

foldr 版本比 foldl 版本快:

文件夹版本:

折叠版

过程cartProdN9 [[1,2]| i <- [1 .. 1000]]没问题。但是cartProdN11 [[1,2]| i <- [1 .. 1000]]不行。

严格的版本fold'仍然不行:

即使使用https://www.fpcomplete.com/haskell/tutorial/all-about-strictness/中的技术

listlist = strictMap list $! strictEnum 1 100仍然太慢而无法计算。

所以我的问题是:如何使foldl版本计算与版本一样快foldr?有可能的?

0 投票
0 回答
78 浏览

haskell - 如何使用 foldl/foldr/recursion 在 Haskell 中的列表列表上执行未知函数?

我想使用 foldl/foldr 或递归编写一些东西,在先前执行的“状态”中一个接一个地执行任务,并使用下一个 Job 的功能。它需要使用任何类型的给定变量/函数。现在时间无关紧要,这就是为什么我用hole代替它。我可以用递归来做到这一点,但由于某种原因“++”改变了它的类型,所以我得到了一个错误。

到目前为止我试过这个:

有什么问题?我该如何解决这个问题?

0 投票
0 回答
35 浏览

scala - 如何解释scala foldLeft中的累加器

我试图了解折叠在 scala 中的工作原理,现在我正在学习左折叠。我有点不知道如何解释以下函数,有人能指出我错的原因吗?谢谢

我的理解如下:
对于 r1,我认为 y 应该是累加器,x 应该是数组中的值。因此,该函数试图将 y 一次累加一次。但是为什么这个 val 返回 5 而不是 4?我在哪里理解错误?

对于 r2,y 仍然是累加器,x 是 11。对于这个 val,它计算数组中有多少元素(因为数组中只有 11,所以结果应该是 1)。

我正在寻找可以帮助我解决这个难题的人!太感谢了!