【发布时间】:2017-02-12 14:17:41
【问题描述】:
由于某种原因,我机器上的 Haskell 永远不会从任何 getLine 调用返回。例如,我尝试直接从 Learn You a Haskell for Great Good 中运行以下代码:
main = do
putStrLn "Hello, what's your name?"
name <- getLine
putStrLn ("Hey " ++ name ++ ", you rock!")
当我运行它时,第一行被打印出来,当我输入一个名字时我看到了我的输入,但是当我按下 Enter 时,程序只是在那里阻塞并且从不打印最后一行。
我应该如何解决这个问题?
编辑:我是从 Sublime IDE 运行它,也许这与它有关
【问题讨论】:
-
你是如何运行程序的?从 IDE/编辑器(哪个?)或命令行(哪个终端仿真器、操作系统等)?当你说它阻塞时,这意味着程序继续运行(即不是窗口(如果有)只是关闭或返回命令提示符),它只是不产生输出,对吗?当你按下回车键时光标会移动到下一行还是好像你从来没有按下过回车键一样?
-
谢谢你的提问,我应该提到它。我从 IDE 运行它:Sublime
标签: haskell sublimetext