haskell - 如何调用同一个函数 'n'次?

标签 haskell

这个问题在这里已经有了答案:




10年前关闭。




Possible Duplicate:
Library function to compose a function with itself n times



我需要一个函数来调用另一个函数 n 次。

所以它看起来像这样
f n = g(g(g(g(l))))
其中 n 等于嵌套的函数 g 的数量。

我应该怎么做?谢谢!

最佳答案

iterate 是一个常见的解决方案:

> :t iterate
iterate :: (a -> a) -> a -> [a]

因此,给定一个域与其范围相同的函数,a -> a , 和初始输入 a , 以如下形式生成一个无限的结果列表:
iterate f a --> [a, f(a), f(f(a)), ...]

您可以使用 !! 访问列表的第 n 个元素:
iterate f a !! n

注意iterate f a !! 0 == a .

关于haskell - 如何调用同一个函数 'n'次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7423123/

相关文章:

haskell - ((->) r) 类型的适用定律

haskell - 是否可以通过标准输入将源代码通过管道传输到 GHC?

Haskell:图 ADT 的重载 ==

haskell - 基于数据构造函数的分区列表

.net - F# 版本的 Haskell 列表解构

Haskell 比较两个列表的长度,但其中一个是无限的?

haskell - 通过 c2hs 与结构和匿名联合进行交互

haskell - 我能得到实现概念的帮助吗, "When a String changes, its type changes"

haskell - 在 Gitlab CI 中的构建之间缓存堆栈数据库

linux - 发送到数据报套接字,不会无限期阻塞