gpt4 book ai didi

haskell - 为什么这个函数在 Haskell 中不终止?

转载 作者:行者123 更新时间:2023-12-02 09:39:00 24 4
gpt4 key购买 nike

我很困惑为什么我的函数nestf与其自身组合n

nest f 0 = id
nest f n = f . nest f (n - 1)

永远不会终止。我本以为当 n 变为零时,它会“模式匹配”。我通过在 GHCI 中输入这两行并使用 nest (+ 1) 2 3 调用来定义它。

最佳答案

通过在两个单独的 REPL 行上键入该函数,您实际上是在第二次重新定义它,而忽略了基本情况。

将此函数输入 REPL 的正确方法是:

nest f 0 = id; nest f n = f . nest f (n - 1)

或者,您可以使用 :{ 命令进入多行模式,并使用 :} 退出。

关于haskell - 为什么这个函数在 Haskell 中不终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58904639/

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