我试图编写一个程序,它一直循环等待用户输入但由于某种原因它不会循环。 我的节目是:
const limits = { fileSize: 50 * 1024 * 1024 /* 50MB */ };
multer = multer({ storage, limits });
但实际上我得到了这个错误:
***异常:用户错误(Prelude.readIO:无解析)
如果我删除了最后一个主要调用程序将运行。 有谁知道为什么会这样?
答案 0 :(得分:2)
当您使用NaN
时,您的信息流只会占用一个字符。但是,如果您已输入 A Enter ,则换行符getChar
仍在您的'\n'
中。 stdin
无法解析为'\n'
,因此您最终会遇到该错误。
如果您之后致电Int
,则可以删除该换行符:
getLine
或者你写自己的帮手:
ch <- getChar
putStrLn (show (charAt word ch))
_ <- getLine