higher-order-functions相关内容

使用 map 将 Map(“a" -> 2, “b" -> 1) 转换为 seq(“a", “a", “b")

我正在尝试通过地图将 Map(“a" -> 2, “b" -> 1) 变成 seq(“a", “a", “b")函数,目前我正在尝试运行下面的代码,给我想要的结果. 有没有更聪明的方法来做到这一点?可能是通过地图功能的更好方法? var multiset : Seq[T] = Seq[T]()var 变量:Seq[T] = data.map(x => x._1).toSeqvar var ..

F# 高阶属性访问器

我刚刚将原型元组升级为记录.有一天它可能会成为一个真正的类.同时,我想翻译这样的代码: type Example = int * int让示例 = [(1,2);(3,4);(5,6)]let descs = Seq.map (fst >> sprintf "%d") 示例 为此: type Example = {字段 1 : 整数字段 2 : 整数描述:字符串}让示例 = [{Field1 ..
发布时间:2022-01-05 10:07:50 其他开发

Scala 中 foldLeft 和 reduceLeft 的区别

我已经了解了 foldLeft 和 reduceLeft 之间的基本区别 左折叠: 必须传递初始值 reduceLeft: 将集合的第一个元素作为初始值 如果集合为空则抛出异常 还有其他区别吗? 有两种功能相似的方法有什么具体原因吗? 解决方案 在给出实际答案之前,这里有几点需要提及: 你的问题与left没有任何关系,而是关于reduce和fold ..

如何从数学角度看待高阶函数和 IO 动作?

我试图从第一原则来理解函数式编程,但我仍然停留在纯函数世界和具有状态和副作用的不纯现实世界之间的接口上.从数学的角度来看, 什么是返回函数的函数? 什么是返回 IO 操作的函数(如 Haskell 的 IO 类型)? 详细说明:在我的理解中,纯函数是从域到共域的映射.最终,它是从计算机内存中的某些值到内存中的某些其他值的映射.在函数式语言中,函数是声明式定义的;即,它们描述了映射,但 ..

R 中的高级函数 - 是否有官方的 compose 运算符或 curry 函数?

我可以在 R 中创建一个组合运算符: `%c%` = function(x,y)function(...)x(y(...)) 像这样使用: >numericNull = is.null %c% 数字>数字空(myVec)[2] 真假 但我想知道是否有一套官方的函数来做这种事情和其他操作,例如在 R 中进行柯里化.主要是为了减少我代码中的括号、函数关键字等的数量. 我的咖喱函数: ..
发布时间:2022-01-02 13:44:53 其他开发

C中的高阶函数

是否有一种“正确"的方法可以在 C 中实现高阶函数. 我对这里的可移植性和语法正确性以及是否有不止一种方法的优缺点感到好奇. 编辑:我想知道如何创建高阶函数的原因是我编写了一个系统来将 PyObject 列表(您在调用 python 脚本时获得)转换为包含相同数据但以不依赖于python.h 库.所以我的计划是有一个函数来遍历一个 pythonic 列表,并在列表中的每个项目上调用一个 ..
发布时间:2022-01-02 13:41:31 其他开发

使用默认值压缩而不是删除值?

我正在 Haskell 中寻找一个函数来压缩两个长度可能不同的列表. 我能找到的所有 zip 函数只是删除比另一个长的列表的所有值. 例如:在我的练习中,我有两个示例列表. 如果第一个比第二个短,我必须使用 0 填充.否则我必须使用 1. 我不允许使用任何递归.我只需要使用高阶函数. 有什么我可以使用的功能吗? 到目前为止,我真的找不到任何解决方案. 解决方案 您可以将 ..

在 Haskell 中提升高阶函数

我正在尝试构造一个类型的函数: liftSumthing :: ((a -> m b) -> m b) ->(a -> t m b) ->时间 其中 t 是一个 monad 转换器.具体来说,我有兴趣这样做: liftSumthingIO :: MonadIO m =>((a -> IO b) -> IO b) ->(a -> m b) ->米 我摆弄了一些 Haskell 巫术库,但无济 ..
发布时间:2021-12-14 11:42:06 其他开发

什么是拟态?

通读这篇经典论文,我被困在paramorphisms上.不幸的是,该部分很薄,维基百科页面没有说明任何内容. 我的 Haskell 翻译是: para :: (a -> [a] -> b -> b) ->b->[a] ->乙对 f 基数 = h在哪里h [] = 基数h (x:xs) = f x xs (h xs) 但我不理解——我对类型签名或所需的结果没有任何直觉. 什么是拟态, ..

Javascript 中的高阶函数

我正在阅读 Eloquent JavaScript(新版本)并且我达到了高阶函数的一部分,我对以下代码中发生的事情感到困惑. 函数噪声(f){返回函数(参数){console.log("调用方式", arg);var val = f(arg);console.log("调用方式", arg, "- got", val);返回值;};}嘈杂(布尔)(0);//→ 调用 0//→ 用 0 调用 - ..
发布时间:2021-12-07 23:15:31 前端开发

有人可以向我解释这个功能是如何工作的吗?

我正在学习编码,我正在尝试理解高阶函数和抽象.我不明白这段代码如何运行以返回“true". function GreaterThan(n) {返回函数(m){返回m>n;};}var GreaterThan10 = GreaterThan(10);控制台日志(greaterThan10(11)); 感谢您的帮助. 解决方案 greaterThan 函数在调用时返回一个函数.即使在函数返 ..
发布时间:2021-11-26 16:34:44 前端开发

有人可以向我解释这个功能是如何工作的吗?

我正在学习编码,我正在尝试理解高阶函数和抽象.我不明白这段代码如何运行以返回“true". function GreaterThan(n) {返回函数(m){返回m>n;};}var GreaterThan10 = GreaterThan(10);控制台日志(greaterThan10(11)); 感谢您的帮助. 解决方案 greaterThan 函数在调用时返回一个函数.即使在函数返 ..
发布时间:2021-11-25 09:04:55 前端开发

根据键数组获取数组的子集

我编写了这个函数来获取数组的一个子集.php 是否有一个内置的功能.我在文档中找不到一个.如果我重新发明轮子,这似乎是一种浪费. function array_subset($array, $keys) {$result = array();foreach($keys 作为 $key){$result[$key] = $array[$key];}返回 $result;} 解决方案 array ..
发布时间:2021-11-18 03:49:00 PHP

如何按条件过滤数组

我有一个这样的数组: array("a" => 2, "b" => 4, "c" => 2, "d" => 5, "e" => 6, "f" => 2) 现在我想通过某种条件过滤该数组,只保留值等于 2 的元素并删除值不是 2 的所有元素. 所以我的预期结果数组是: array("a" => 2, "c" => 2, "f" => 2) 注意:我想保留原始数组中的键. 我怎样才 ..
发布时间:2021-11-18 01:00:34 PHP

在 PHP 中转置多维数组

如何在 PHP 中翻转 90 度(转置)多维数组?例如: //从这个数组开始$foo = 数组('a' =>大批(1 =>'a1',2 =>'a2',3 =>'a3'),'b' =>大批(1 =>'b1',2 =>'b2',3 =>'b3'),'c' =>大批(1 =>'c1',2 =>'c2',3 =>'c3'));$bar = flipDiagonally($foo);//神秘函数var_d ..
发布时间:2021-11-18 00:56:32 PHP