【发布时间】:2012-04-22 12:52:07
【问题描述】:
一个玩具例子,但仍然令人沮丧:
numberMapper:: IO ()
numberMapper = do codes <- forM [1 .. 4] (\num ->
do putStrLn $ "Enter a code for " ++ show num
code <- getLine
return code)
let numberCodes = zip [1 .. 4] codes
in forM numberCodes (\(num,code) ->
putStrLn $ "Got code " ++ show code ++ " for " ++ show num)
ghci 告诉我我有一个Parse error in pattern: putStrLn,但我不知道为什么它应该无法解析。
【问题讨论】:
-
好的,如果我在每个“语句”的末尾为 do 块和分号添加大括号,这将有效——但这是推荐的解决方案吗? (它似乎有点不起作用:P)
-
您可以假装分号和大括号已经存在,但不可见。 (自动大括号和分号的位置有规则。)
标签: haskell parse-error