fold 相关问题

在函数式编程中,折叠(也称为减少,累积或变形)是一种高阶函数,它递归地将变换应用于数据结构,将其“折叠”为汇总值

使用`foldl`实现Haskell的`take`函数

使用foldl实现Haskell的接收和删除功能。关于如何使用foldl实现take和drop函数的任何建议?拿x ls = foldl ??? drop x ls = foldl ???我试过这些......

回答 4 投票 0

F#仅从列表中筛选出第一个匹配项

我有一个列表,我想删除符合某些条件的元素,但只删除一个元素。 let items = [1; 2; 3] let predicate x = x> = 2 let result = items |> List.fold ... // ...

回答 4 投票 5

折叠后返回结果的闭包

我正在使用正则表达式包来找到这个正则表达式的一些文本:lazy_static! {static ref FIND_STEPS_RE:Regex = Regex :: new(r“my regex”)。unwrap();我想找到所有可能的捕获并...

回答 3 投票 3

Kotlin中fold和reduce之间的基本区别是什么?什么时候用哪个?

我正在阅读Kotlin的基础知识,我对Kotlin中的函数fold()和reduce()非常困惑,有人能给我一个区分两者的具体例子吗?

回答 2 投票 71

理解折叠和减少方案中的功能

我有关于scheme和lisp的一般性问题。折叠和缩小功能应该如何工作?在使用(use-modules(srfi srfi-1))的guile方案中你可以使用:guile>(fold cons'()'(1 2 3 4))> ...

回答 1 投票 0

理解传递给折叠的curry函数

我在Scala的Book FP中理解这段代码时遇到了问题。这是代码:trait Monoid [A] {def op(a1:A,a2:A):一个def零:A} def endoMonoid [A]:Monoid [A => A] = new ...

回答 1 投票 4

在std :: initializer_list的构造函数的参数列表中折叠与“正常”折叠

我从Jacek Galowicz的C ++ 17 STL Cookbook学习C ++ 17,并且有一个关于lambdas的例子:模板 static auto multicall(Ts ... functions){return [=](auto x){(...

回答 1 投票 2

自己的小块功能 - 如何使用foldl / foldr?

这是我自己的nub实现(删除重复项):nub ::(Eq a)=> [a] - > [a] nub lista = nub_rec lista []其中nub_rec ::(Eq a)=> [a] - > [a] - > [a] ......

回答 2 投票 0

什么是'pythonic'相当于函数式编程的'fold'函数?

在Haskell中实现类似以下内容的最惯用的方法是什么:foldl(+)0 [1,2,3,4,5] - > 15或者它在Ruby中的等价物:[1,2,3,4 ,5] .inject(0){| m,x | m + x}#> 15 ...

回答 9 投票 103

scheme将list定义为局部变量

我的目标是将list定义为局部变量,以便从中获取最大元素。我的代码:#lang racket(定义(f a b c)(列表(+(* a a)(* b b)(* c c))(+ a c))(定义(max-of-list-2 ...

回答 3 投票 1

替换列表中的元素

我需要实现一个替换列表中元素的函数 - 要替换 的索引是元组中的fst,而元组中的snd是替换它的内容。我被要求使用foldr或......

回答 1 投票 0

获取错误“约束中的非类型变量参数:积分[a2]”

我正在尝试使用以下代码实现luhn算法:luhn :: Int - > Bool luhn x =(tail $ show(foldl(\ acc x - > acc +(read x :: Int))0(foldr doEncrypt [] $ zip [0 ..](显示x)...

回答 1 投票 0

折叠列表与kotlin中的解构赋值配对

我尝试从字符列表上的折叠操作中获取多个结果,然后使用对这两个值的解构赋值给它们自己的变量。但这似乎导致......

回答 1 投票 1

Flink:如何将弃用字段转换为聚合?

我正在关注Flink的快速启动示例:监控维基百科编辑流。这个例子是用Java编写的,我在Scala中实现它,如下所示:/ ** * Wikipedia Edit Monitoring * / ...

回答 2 投票 4

迭代连续折叠结果的惯用和功能方法是什么?

我有一个序列(列表,迭代器)a0,a1,a2,...,我使用函数f来折叠。我想有一个生成器给我a0,f(a0,a1),f(f(a0,a1),a2),...这类似于FoldList ...

回答 1 投票 0

如何使用foldl删除列表的第n个元素?

dropnth':: [a] - > Int - > [a] dropnth'xs n = foldl(\ ab - > if(last a)== xs !! n then a else b ++ [])[head xs] xs我试图解决这个问题“删除列表中每个第n个元素”的问题......

回答 1 投票 -3

正确实现foldl1

Haskell Wikibook提供了一个foldl1 ::(a - > a - > a) - > [a] - > foldl1 f(x:xs)= foldl fx xs foldl1 _ [] =错误“Prelude.foldl1:空列表”那不起作用。 ...

回答 3 投票 -1

你能跟踪一下这个Haskell foldl lambda函数是如何工作的吗?

myReverse :: [a] - > [a] myReverse = foldl(\ ax - > x:a)[] foldl是(a - > b - > a) - > a - > [b] - > a lambda函数显然在括号内。 foldl在哪里得到它......

回答 2 投票 5

使用折叠功能没有正确的签名

我有以下函数:brace_it :: a - > b - >(a,b)brace_it ab =(a,b)我可以做brace_it(brace_it(brace_it 1 2)3)4用它正确得到((( 1,2),3),4)。但我想做...

回答 1 投票 2

添加列表列表

我是SML的新手,正在研究一些列表算法。我试图使用fold函数一起添加列表列表,没有任何迭代。这个想法是[[1,2,3],[4],[1]] = 11这就是......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.