function-composition相关内容

在python中组合函数

我有一个函数数组,我正在尝试生成一个函数,该函数由数组中元素的组合组成.我的方法是: def compose(list):如果 len(list) == 1:返回 lambda x:list[0](x)list.reverse()最终=拉姆达x:x对于列表中的 f:最终=拉姆达x:f(最终(x))返回决赛 此方法似乎不起作用,将不胜感激. (我正在颠倒列表,因为这是我希望函数的组合顺序) ..

可变组合函数?

我正在尝试编写一个可变参数函数组合函数.这基本上是 (.) ,除了第二个参数函数是可变参数.这应该允许以下表达式: map even .zipWith (+) 或者只是 map even .压缩包 目前,如果我添加 IncoherentInstances 并且需要第一个参数函数的非多态实例,我所达到的效果. {-# LANGUAGE FlexibleInstances, Overlapp ..
发布时间:2021-12-14 12:38:29 其他开发

在haskell中具有多值函数的功能组合?

我想知道是否可以使用带有多个参数的函数进行函数组合.我希望能够做这样的事情 x = (+3).(*) 设置 x 等于一个函数,将两个数字的乘积加三. 解决方案 有多种方法可以做到,但都有些别扭. ((+3).) .(*)≡ fmap (+3) .(*)≡ 咖喱 $ (+3) .非咖喱 (*)≡ \l r ->l*r + 3 哦,等等,这是签名,还有一个紧凑的定义,猜猜它叫什么... ..
发布时间:2021-12-14 12:21:28 其他开发

Haskell 中的点运算符:需要更多解释

我试图了解这个 Haskell 代码中的点运算符在做什么: sumEuler = sum .(地图欧拉).列表 整个源代码如下. 我的理解 点运算符以两个函数sum和map euler的结果和mkList的结果作为输入. 但是,sum 不是函数,而是函数的参数,对吧?那么这里发生了什么? 另外,(map euler) 在做什么? 代码 mkList :: Int ..
发布时间:2021-12-14 11:55:08 其他开发

Haskell 函数组合 (.) 和函数应用 ($) 习语:正确使用

我一直在阅读Real World Haskell,并且接近尾声,但是风格问题一直困扰着我与(.) 和($) 运算符. 当你编写一个由其他函数组成的函数时,你可以这样写: f = g .H 但是当你在这些函数的末尾应用一些东西时,我是这样写的: k = a $ b $ c $ 值 但是这本书会这样写: k = a .乙.c$值 现在,在我看来,它们在功能上是等效的,它们在我眼中的作 ..
发布时间:2021-12-14 11:36:23 其他开发

runST 和函数组合

为什么要进行类型检查: runST $ return $ True 虽然以下没有: runST .返回 $ 真 GHCI 抱怨: 无法匹配预期的类型 `forall s.ST s c0'实际类型为‘m0 a0’预期类型:a0 ->福尔 s.ST C0实际类型:a0 ->m0 a0在`(.)'的第二个参数中,即`return'在表达式中: runST .返回 解决方案 简短的回答是类型 ..
发布时间:2021-12-14 11:31:53 其他开发

之间有什么区别.(点)和 $(美元符号)?

点(.)和美元符号($)有什么区别? 据我所知,它们都是不需要使用括号的语法糖. 解决方案 $ 运算符用于避免括号.出现在它之后的任何内容都将优先于之前出现的任何内容. 例如,假设您有一行内容: putStrLn (显示 (1 + 1)) 如果你想去掉那些括号,下面的任何一行也可以做同样的事情: putStrLn (显示 $1 + 1)putStrLn $ 显示 (1 + ..
发布时间:2021-12-14 11:28:18 其他开发

打字稿递归函数组合

我想创建一个函数链,它将作为管道/流/组合函数的输入. 如果没有将类型字面扩展到选定的深度,这是否可能,这通常是这样处理的?查看 lodash 的流程. 我想实现链中数据流的类型检查.- 函数的参数是前一个函数的结果- 第一个参数是模板参数- 最后返回的是模板参数 type Chain= [] |[(参数:输入)=>出] |[(参数:输入)=>Tmp1, (i: Tmp1) =>Tm ..

Scala API 2.10.*:Function2.and然后发生了什么?

我正在阅读 Joshua Suereth 的 «Scala in Depth»,这本书是我为了作者明确确立的能力而购买的.我在第 3 页,在经历了一堆拼写错误和不连贯的格式(好吧,我已经可以容忍这些错误)之后,我偶然发现了以下示例,该示例是关于解决一个非常简单的场景的函数式方法. 特质猫性状 鸟特性捕捉性状 FullTummydef catch(hunter: Cat, prey: Bird): ..
发布时间:2021-11-15 02:43:28 其他开发

有没有办法在函数中注入 try catch?

也许你们中的一些人了解 AOP,在某些语言中使用 AOP 可以使您能够在方法执行之后、之前或期间注入代码等. 我想要的是在 Javascript 中应用相同的内容,我目前正在开发一个包含 300 多个 ajax 调用的大型应用程序,每次我需要对它们的 catch 语句进行一些更改时,我都必须修改一个接一个,很乏味. 我想做的是: functionName.before("try {" ..
发布时间:2021-11-11 04:21:04 前端开发

为什么 Function2 没有 andThen 方法?

为什么 andThen 只存在于 Scala 中的单参数函数? 以下代码有效: val double = (x: Int) =>×*2val timesFour = 双倍然后双倍 但是为什么没有用于多参数函数的 andThen 方法? val 乘法 = (x: Int, y: Int) =>x * yval multiplyAndDouble = 乘以然后加倍:10: ..
发布时间:2021-07-15 20:22:35 其他开发

Scala 中方法、函数和部分应用函数的函数组合

有点类似于堆栈溢出问题组合和然后方法,我一直在研究 Twitter 的 Scala School 教程并很快遇到了评论者遇到的相同问题(这很棒,因为我上床睡觉以为我的问题已解决). 在教程中,它定义了两个方法: def addUmm(x: String) = x + " umm"def addAhem(x: String) = x + "啊哼" 而在较新版本的 Scala 中,您不能像这 ..
发布时间:2021-07-15 20:22:19 其他开发

理解`andThen`

我遇到了andThen,但没有正确理解. 为了进一步研究,我阅读了 Function1.andThen 文档 def andThen[A](g: (R) ⇒ A): (T1) ⇒ A mm 是一个 MultiMap 实例. scala>毫米res29: scala.collection.mutable.HashMap[Int,scala.collection.mutable.Set[S ..
发布时间:2021-07-15 20:12:38 其他开发

如何将两个过程合二为一?

只是想知道是否有一个语法快捷方式来获取两个过程并将它们连接起来,以便将一个的输出传递给另一个,相当于: a = ->(x) { x + 1 }b = ->(x) { x * 10 }c = ->(x) { b.( a.( x ) ) } 这在处理诸如 method(:abc).to_proc 和 :xyz.to_proc 之类的事情时会派上用场 解决方案 更多的糖,在生产代码中并不真正推 ..
发布时间:2021-07-11 20:59:21 其他开发