【发布时间】:2018-02-19 08:14:42
【问题描述】:
大家好,我遇到了一件奇怪的事情,试图在 Haskell 中学习循环定义。我们有这两种情况:
module Main
where
mgood = 1:head (tail (tail mgood)):mgood
list = take 10 mgood
main = do
print list
对于上面的代码,我得到了这个输出 [1,1,1,1,1,1,1,1,1,1] 我明白为什么但问题出在这段代码中:
module Main
where
mbad = 1:head (tail (tail (tail mbad))):mbad
list = take 10 mbad
main = do
print list
我在哪里得到这个输出 [1, {Interrupted!}。谁能解释一下为什么会发生这种情况以及这两种情况有什么区别?
【问题讨论】:
-
请不要破坏问题 - 即使您碰巧发布了这些问题。
标签: haskell functional-programming