通过管道传递多个参数和最后一个函数的结果

2023-12-10

我正在使用 Ramda.js 构建一个管道,它接受三个参数。第一个函数需要这三个参数,其结果用于第二个函数。但是,第二个函数还需要初始参数之一。我无法弄清楚构建类似的东西的分支。

在伪代码风格中,我需要这样的东西:

const composedFunction = R.pipe(
  firstFunction,
  secondFunction,
);

const firstFunction = (reusedArgument, secondArgument, thirdArgument) => someAnswer;
const secondFunction = (reusedArgument, someAnswer);

console.log(composedFunction({ foo: bar }, [5, 3, 4], [100, 12, 12]));

我可以想到几个解决方案:

将管道包装在另一个函数内,以便组合中的函数仍然可以引用原始参数。

Here func2接受的输出func1但也可以访问初始b范围。明显地func2必须进行柯里化并设计为接受其“数据”作为最后一个参数(我想说这是 Ramda 和函数式编程的原则)。

const func3 = (a, b, c) =>
  pipe(func1, func2(b))
   (a, b, c);

func3(10, 20, 30);

其他选择,func1返回一个可以在其中解构的数组func2.

我认为这不是特别好,但它是一个选择:

const func1 = (a, b, c) => [a + c, b];
const func2 = ([sum, b]) => sum * b;

const func3 = pipe(func1, func2);
func3(10, 20, 30);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过管道传递多个参数和最后一个函数的结果 的相关文章

  • 使用 ramda group by 属性并对指定属性求和结果

    我需要帮助使用 ramda 转换对象数组 我想 按指定属性分组 对另一个属性求和 结果集 给定一个像这样的数组 var arr title scotty age 22 score 54 hobby debugging title scott
  • 如何将多个参数传递到 Ramda 撰写链中?

    以下是我尝试将四个函数组合成一个端点字符串 const endpoint str gt str default const protocol str gt https str const params str gt str sort des
  • 具有多个参数的 Ramda 管道

    我有一个需要多个参数的方法 我正在尝试设置一个 ramda 管道来处理它 这是一个例子 const R require ramda const input data number v01 attached t01 data number v
  • Ramda 柯里化:如何将参数应用于多个参数

    我有一种情况需要这样做 const f obj gt assoc list createList obj obj 由于我需要第二个和第三个参数的参数 因此禁止我执行以下操作 const f assoc list somehowGetObj
  • Ramda:通过与另一个数组中的每个项目进行比较来从数组中获取对象

    我有一个像这样的数组 ids 1 3 5 和另一个数组 例如 items id 1 name a id 2 name b id 3 name c id 4 name d id 5 name e id 6 name f 我想要的是另一个数组
  • 通过管道传递多个参数和最后一个函数的结果

    我正在使用 Ramda js 构建一个管道 它接受三个参数 第一个函数需要这三个参数 其结果用于第二个函数 但是 第二个函数还需要初始参数之一 我无法弄清楚构建类似的东西的分支 在伪代码风格中 我需要这样的东西 const composed
  • Ramda:有没有办法在管道期间将参数“分叉”到两个函数?

    我是函数式编程初学者 我正在使用 Ramda 开发 React Native 应用程序 该应用程序可以让用户维护他们的房屋 我写了一个函数叫asyncPipe这让我可以管道承诺和正常功能 我用它来loginFlow当前有一个 http 请求
  • 是否有(R.either)的可变版本?

    我需要一个可变版本R either 在网上搜索一番后 我还没有找到解决方案 R anyPass可以工作 但它返回一个布尔值而不是原始值 是否已经有我忽略的解决方案 如果不是 那么编写可变参数实用函数的最佳方法是什么 一个例子 const t
  • 如何使用 Ramda 通过键值查找数组中匹配的对象

    Ramda REPL 示例 http ramdajs com repl var 20port 20 3D 20 5B 7Bticker 3A 22aa 22 7D 2C 20 7Bticker 3A 22bb 22 7D 5D 0A 0Av
  • 使用 Ramda 在循环中从多个数组中取出前 X 个总项目

    我有一个数组数组 想编写一个返回顶部的函数x项目数 通过按顺序从每个数组中获取项目 这是我所追求的一个例子 const input 1a 2a 3a 4a 5a 1b 2b 3b 4b 5b 1c 2c 3c 4c 5c 1d 2d 3d
  • 通过引用更新树结构中的项目并返回更新后的树结构

    我目前正在使用 HyperappJS V2 和 RamdaJS 学习函数式编程 我的第一个项目是一个简单的博客应用程序 用户可以在其中对帖子或其他评论进行评论 评论以树形结构表示 我的状态看起来像这样 state js export def
  • 无点动态函数组合

    我正在尝试将这个函数重构为无意义的 function siblings me return R pipe family R reject equalsMe me me 我想通过me到管道中的函数以及值family返回 尝试了一些事情R us
  • 修改可变对象的方法?

    鉴于函数式编程在尽可能坚持不可变变量时是最好的 并且 Ramda 总是进行浅拷贝 那么对象如何must在大多数纯功能框架中处理可变的问题 例如 考虑 PIXI Sprite 在 pixi js 中 显示系统具有链接在一起的固有层次结构 并且
  • 我应该如何在函数式编程中根据不同的条件使用不同的逻辑对对象内的列表进行排序

    考虑到我们有一个 api fetchData 它从服务器获取数据 并且基于路由 它可以是表或树 而且我们有两个状态 我们应该根据接收到的数据更新它们 我应该注意 如果数据是一个表 我们应该按优先级对它的记录进行排序 我想知道我应该如何以函数
  • Ramda 循环数组

    循环可能是错误的术语 但它描述了我正在尝试的事情 我想为平面数据提供结构 但我还需要跟踪它来自的数组 基本上我的规则是 每个数组 如果级别 1 存在 给它name该项目的 以及typechild大批 每次出现级别 1 时 即使在同一个数组中
  • 使用 ramdajs 重命名对象的属性

    我需要使用以下命令将可能包含连字符的单词重写为驼峰命名法的对象的所有属性ramdajs 示例 属性名称animation timing function应该成为animationTimingFunction每个键依此类推 您能否举个例子 这
  • 更新对象值 Ramda

    在上一个问题中 我尝试按父 ID 对数组进行分组 然后从每个对象中删除它们 按父 ID 对象 Ramda 对数组进行分组 https stackoverflow com q 58682137 9464680 但现在我有一个新问题 例如 我想
  • 我可以在 juxt 函数中使用映射元组类型吗?

    juxt 调用函数数组来返回值数组 文件 ramda https ramdajs com docs juxt clojure https clojuredocs org clojure core juxt 我正在尝试输入一个不带覆盖的数据优
  • 在管道中重用变量的功能方式

    在 javascript 和 typescript 中与 Ramda 一起使用函数式编程 我经常发现自己编写如下代码 const myFun c gt const myId c id const value pipe getAnotherO
  • 将 R (ramda) 导入 typescript .ts 文件

    我正在尝试使用Ramda js如下

随机推荐

  • 如何从android向RESTlet webservice传递参数?

    我一直在网上寻找如何将参数传递给 RESTlet webservice 但似乎没有太多关于 RESTlet 的教程 我想发送一些从我的 Android 应用程序上的表单收集的参数 如果我可以使用 JSON 来做到这一点 那就太好了 好吧 我
  • 单击时保持 bootstrap-3-dropdown-open

    我需要帮助实现与以下链接相同的导航 它有我的代码和客户的要求 我正在使用 Bootstrap 3 Bootstrap Dropdowns dropdown js jsfiddle 链接 请帮忙 更新了小提琴 您只需要做一处更改 而不是听hi
  • Delphi:2010 年索引属性的 RTTI?

    请原谅以下代码示例的冗长 使用 Delphi 2009 我创建了两个类 TOtherClass 和 TMyClass TOtherClass class TObject public FData string end TMyClass cl
  • 为什么 drop1 忽略混合模型的线性项?

    我有六个固定因素 A B C D E and F 和一个随机因素R 我想使用 R 语言测试线性项 纯二次项和双向交互 因此 我构建了完整的线性混合模型并尝试使用drop1 full model lt lmer Z A B C D E F I
  • 在 Windows 上取消 python 中的停滞文件复制

    在 Windows 上 我想使用 Python 通过网络复制一堆文件 有时 网络没有响应 复制会停止 我想检查是否发生这种情况 并在发生这种情况时跳过有问题的文件 通过询问这个相关问题here 我发现了关于复制文件Ex函数 允许使用回调函数
  • 如何对地图的值进行排序?

    有人可以给我提示吗 我想按列表的长度对地图的值进行排序 var chordtypes maj 0 4 7 M7 0 4 7 11 m7 0 3 7 10 6 0 4 7 9 9 0 4 7 10 14 sus2 0 2 7 sus4 0 5
  • 在 Python 中,如何搜索过去 24 小时内创建的文件? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是 python 新手 我想查找过去 24 小时内创建的目录中的所有文件 如何过滤 24 小时窗口内创建的文件 该代码将在 Windows 计算机上的 Python 2 7 中
  • 跨多个数据帧的经纬度之间的最小距离

    我有一个名为 A 的数据框 其中纬度和经度位于不同的列中 样本数据 ID Lat Long a 10 773046 76 6392061 b 10 7751978 76 6368363 c 12 954027 78 988818 d 12
  • 为什么Iterable不提供stream()和parallelStream()方法?

    我想知道为什么Iterable接口不提供stream and parallelStream 方法 考虑下面的类 public class Hand implements Iterable
  • 为什么“colMeans()”和“rowMeans()”函数比使用“lapply()”的mean函数更快?

    我想问的是 从算法上来说 rowMeans and colMeans 函数如何优化速度 另外 考虑一下什么lapply 做 它设置对该函数的重复调用mean 因此 除了实际计算均值的开销 在快速 C 代码中完成 之外 lapply 版本反复
  • Sass 3.4 删除字符串上的正斜杠

    是否有解决方法或任何其他方法可以使其在 Sass 3 4 上工作 mixin icon name code name before content str slice x 1 1 code include icon test 4556 代码
  • 从 WordPress 中提取数据

    从 Wordpress 数据库提取数据的最佳方法是什么 我认为创建一个插件会很好 有没有可以完成这项工作的教程 或者有一个插件可以做到这一点 通过 JSON XML 拉取页面内容 干杯 米奇 这是该插件的链接 http wordpress
  • 指针比较

    C 和 C 中的指针是否支持比较运算符 gt lt 等 标准 我想精确地比较数组位置 在连续数组中比较内存偏移量 指针 是可以的 如果您的数组被实现为链表 例如 则节点可能遍布内存 因此指针比较是无意义的
  • JQuery 查找并更改字符串的样式

    我需要编写一个函数 在 HTML 页面中的所有内容中搜索特定字符串 如果找到 则更改文本的颜色 这可能吗 Thanks 你可以这样做 CSS someclass color red JavaScript p contains yourstr
  • 如何将“System::String ^”转换为“TCHAR”?

    我问了一个问题here涉及 C 和 C 通信 问题解决了 但又引发了新的问题 这将返回一个字符串 C return Marshal PtrToStringAnsi decryptsn InpData 这需要一个 TCHAR C lpAlph
  • 数据库特定的迁移代码[重复]

    这个问题在这里已经有答案了 我正在创建一个需要在多个数据库下运行的应用程序 我目前在迁移中有一些代码 我只想在特定数据库 postgresql 和 mysql 下运行 有什么方法可以设置吗 谢谢 您的迁移可以访问数据库连接connectio
  • NSArray 后面的方括号索引是什么意思? [复制]

    这个问题在这里已经有答案了 浏览 iTunes U 开发适用于 iPhone 和 iPad 的 iOS 7 应用程序以及第 3 讲幻灯片中的第 120 页 有一个测验问题询问以下代码行的作用 说实话 我有点困惑 希望有人能破解它 cardA
  • “~”运算符在此脚本中做什么? [复制]

    这个问题在这里已经有答案了 您好 我从特定索引中删除一个数组 我附带了这个脚本 var arr 1 2 3 4 var index 2 if index arr splice index 1 我谷歌 what does operator d
  • 使用Spring SpEL表达式获取Annotation中引用的动态参数

    我想做的是拥有一个看起来很像 Spring 提供的 Cacheable Annotation 的注释 在方法之上使用 如下所示 CleverCache key orders concat id public Order getOrder i
  • 通过管道传递多个参数和最后一个函数的结果

    我正在使用 Ramda js 构建一个管道 它接受三个参数 第一个函数需要这三个参数 其结果用于第二个函数 但是 第二个函数还需要初始参数之一 我无法弄清楚构建类似的东西的分支 在伪代码风格中 我需要这样的东西 const composed