gpt4 book ai didi

function - Haskell 编写我自己的函数来组合函数

转载 作者:行者123 更新时间:2023-12-02 21:34:37 26 4
gpt4 key购买 nike

所以我试图编写自己的函数来在 Haskell 中组合一个函数 n 次。

例如,输入

compose (+1) 3 

将返回f(x) = x+3;

现在我的尝试如下,但实际上很天真,目前不起作用。

compose f 0 = (*1)
compose f n = (compose f n-1).a

最佳答案

在第二种情况下,您试图引用 a,我认为您的意思是 f,从那时起

compose f n = (compose f (n-1)) . f

(另请注意,compose f n - 1 在代码中被解析为 (compose f n) - 1)

这意味着你有

compose f 3 = (compose (+1) 2)             . f
= ((compose (+1) 1) . f) . f
= (((compose (+1) 0) . f) . f) . f
= ((((*1) . f) . f) . f

哦,顺便说一句,你可以写

compose f 0 = id

它表达了 compose f 0 应该“什么也不做”的想法。

关于function - Haskell 编写我自己的函数来组合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40668325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com