有时使用GHCI时,我会意外地尝试评估无限流(例如[1..]
)。它不断打印...打印...打印......和打印......所以问题是停止打印的唯一方法是退出控制台,丢失我已经完成的所有内容那个会议。有没有办法让GHCI默认只从列表中获取前几个x项?
答案 0 :(得分:2)
只需使用 Ctrl + C 来中断该过程:
Prelude > let x = 1
Prelude > [1..]
lots of stuff... Interrupted.
Prelude > print x
1
除此之外,我相信除了开始用take
编写表达式以确保输出有限之外,你无法真正做任何事情......最后列表只有一个可能无限的输出和ghci不能可靠地知道什么需要缩短和什么不。他只是show
结果并输出它。