fold

    1热度

    1回答

    我对F#比较新(已经在C#上工作,Java & C++)。而不是使用List.fold函数,我想创建自己的Fold函数,比如说myCustomFold。预期的输出可能是: myCustomFold (+) 0 [1; 2; 3 ]将返回6. 任何提示或想法大加赞赏。

    1热度

    1回答

    Swift标准库API指定Array具有方法reduce(into:_:),该方法返回使用给定闭包合并序列元素的结果。 API文档中提到“您可以在整数数组上使用此方法来过滤相邻的相同条目”。有人可以提供一个这样做的例子吗?

    0热度

    1回答

    我知道vim的折叠颜色可以通过设置: highlight Folded ... 但我想要的是消除这种亮点(甚至默认config),所以折叠的行将被折叠段落的第一行的语法突出显示。 有没有办法做到这一点?

    2热度

    4回答

    我想知道用scala处理这个问题的惯用方法。 给定开始日期和结束日期以及中间的日期集合,确定给定的日期集合是否包含从开始日期到结束日期所需的所有日期,且没有间隔日期。 类型签名: def checkDate(start: DateTime, end: DateTime, between: IndexedSeq[DateTime]): Boolean “正常”或“不实用”的方式来做到这将是这样的:

    1热度

    2回答

    我知道如何使用递归来逆转列表,但我正在尝试使用foldl来使其更有效。我的代码如下: reverse list = foldl (++) [] (map (\x -> [x]) list) 当在GHCi中运行它时,它将返回与输入相同的列表。出了什么问题?我也试着用foldr来完成它,但它没有显示任何改变。

    5热度

    4回答

    我有一个列表,我想删除一个匹配某个条件的元素,但只删除一个元素。 let items = [1;2;3] let predicate x = x >= 2 let result = items |> List.fold ... // result = [1;3] 如何用[1; 3]实现返回列表的方法?

    0热度

    2回答

    我想定义上Foldable类型 safeIndex :: (Foldable t, Integral i) => t a -> i -> Maybe a safeIndex = foldr step (const Nothing) where step :: Integral i => a -> (i -> Maybe a) -> i -> Maybe a step

    1热度

    1回答

    我已经实现高阶函数递归与.foldRight()像any,all,并takeWhile的做法,但dropWhile一直难以捉摸。 _Collections.kt具有必要的方式,但我无法将其转换为递归结构。 以供参考,这是takeWhile fun takeWhile(list:List<Int>, func:(Int) -> Boolean):List<Int> = list.foldRight(

    0热度

    1回答

    所以我得将返回True功能,如果数量n应用的按位或XS的任何序列结果: checkBits xs n = not $ null $ filter (==n) $ map (foldr (.|.) zeroBits) (subsequences xs) 现在事情我没有得到的是foldr给出(.|.)和zeroBits,但我没有需要foldr另一个参数。 就像我理解的foldr功能,您将它应用到的功能

    1热度

    1回答

    我尝试从字符列表中的折叠操作获得多个结果,然后对这两个值使用解构赋值给它们自己的变量。但是,这似乎导致由科特林编译器异常: java.lang.UnsupportedOperationException: Don't know how to generate outer expression for class <closure-Test$1> 奇怪(我)不破坏结构,这按预期工作。以下是一个示