【发布时间】:2014-03-18 04:20:57
【问题描述】:
假设我们有一个简短的 haskell 程序:
main = do putStr "2 + 2 = "
x <- readLn
if x == 4
then putStrLn "Correct"
else putStrLn "Wrong"
它产生什么输出?
4
2 + 2 = 正确
现在让我们再来一个:
main = do putStrLn "2 + 2 = "
x <- readLn
if x == 4
then putStrLn "Correct"
else putStrLn "Wrong"
那个产生
2 + 2 =
4
正确
粗体 4 是用户输入的。
任何熟悉 Haskell 的人可以向我解释为什么会这样吗? 以及如何获得想要的结果,即
2 + 2 = 4
正确
【问题讨论】: