【发布时间】:2013-02-01 10:47:24
【问题描述】:
getText = do
c <- getChar
s <- getText
return (c : s)
main = do
s <- getText
putStr s
我希望看到的是每次按“Enter”后都会回显输入行。
但是没有任何回应......(我知道这是一个无限循环)
在执行完上面的所有“IO”之前,它似乎不会“return”。 ...
但是,下面的代码:
main = do
s <- getContents
putStr s
输入后立即显示该行。
给定函数getChar,我可以写一个行为类似于getContents的getText吗?
【问题讨论】:
-
请注意,惰性 IO 会导致许多难以调试和解决的问题。见What's so bad about Lazy I/O?