在前奏中尝试

Prelude> (i, j) = (3, 4)
Prelude> (i, j) = (j, i)
Prelude> i

我期待4,但是出现了无限循环

为什么呢

如何以简短而优雅的方式做到这一点?

最佳答案

如果您定义

ghci> factorial n = if n == 0 then 1 else n * (factorial (n - 1))

您希望在RHS上使用factorial与在LHS上使用相同的factorial,对吗?

同样,以下内容以自己的方式定义了ij:
ghci> (i,j) = (j,i)

关于haskell - 元组声明进入无限循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46591522/

10-11 18:45