我希望用户进入元组的列表就可以了搜索键这样我可以说像这样继续输入元组
data BookInfo = Book Int String [String]
deriving(Show)
findbook :: [BookInfo] -> Int -> BookInfo
findbook vs key = (booker (vs!!(bookFinding vs key 0 (length vs))) key)
getBookInfo = do
putStrLn "Enter book id :"
k <- read
putStrLn "Enter book name : "
r <- getLine
putStrLn "Enter book subject :"
m <- getLine
let Book book = enter k r [m]
return book
main = do
putStr "Enter you first info is :"
v <- getBookInfo
let Book vs = v:[]
c <- getLine
if c == "N"
then
putStr "You done"
else
Book booke = getBookInfo
vs = booke:vs
putStr "Do you want to search ? :"
m <- getch
if m == 'y'
then
putStr " Enter your key :"
s <- readNum
let Book w = findBook vs s
putStrLn" The result is: " ++ show(w)
但它给我一个错误:
The last statement in do must be m <- getch
我在做什么错?
您是否尝试修理您的缩进? – fuz 2012-07-21 21:26:00
首先,每个'if'必须有'else'子句。你最后的'if'没有。 – 2012-07-21 21:38:57
好吧,我只是花了几分钟的时间来修复你的代码。我的结论是,此刻,这是一个完整的混乱。什么是“booker”,“bookFinding”和“enter”函数? – 2012-07-21 21:45:04