Haskell:putStrLn问题

时间:2014-02-08 16:07:49

标签: haskell

我写了一个电话簿程序:

import System.IO

main = do
       putStrLn "Pls input the name: "
       handle <- openFile "phone.txt" ReadMode
       contents <- hGetContents handle
       name<-getLine
       putStrLn . findNumber name $ toDict contents

findNumber x [] = "not found"
findNumber x ((y,z):ys) = if x==y then z else findNumber x ys
toDict :: String -> [(String, String)]
toDict = map read . lines

编译时出错。

phoneNumber.hs : 7:16: parse error on input '<-'

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

正如d8d0d65b3f7cf42所说,这几乎肯定是一个缩进问题。复制和粘贴代码不会出错,因此在SO上发布代码所需的重新格式化可能会掩盖您的问题。