gpt4 book ai didi

haskell - haskell中的无限循环? (新手)

转载 作者:行者123 更新时间:2023-12-03 11:53:35 26 4
gpt4 key购买 nike

我只是在学习 Haskell。我认为这会产生一个阶乘函数......

(在 ghci 内)

Prelude> let ft 0 = 1
Prelude> let ft n = n * ft (n - 1)
Prelude> ft 5

(无限期挂起,直到 ^C)。

有人可以指出我正确的方向吗?

谢谢!

最佳答案

两个分开的let语句相互独立解释。首先是一个函数ft 0 = 1被定义,然后是一个新函数ft n = n * ft (n - 1)被定义,覆盖第一个定义。

要使用两种情况定义一个函数,您必须将两种情况放在一个 let 中。陈述。要在 GHCI 提示符下的一行中执行此操作,您可以通过 ; 分隔两种情况。 :

Prelude> let ft 0 = 1; ft n = n * ft (n - 1)
Prelude> ft 5
120

关于haskell - haskell中的无限循环? (新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901360/

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