我正在尝试创建一个允许用户输入字符串列表的函数。该函数采用长度并允许用户输入长度为 1 的更多行。然后检查每一行以确保它与原始行的长度相同。但是,我遇到了一些问题,我找不到解决方案。
问题是我可以输入多于 count-1 行,并且没有按预期计算长度..例如,如果我输入 ["12","13"] 然后 ["121","13" ] 给出了错误,尽管它们的长度相同!
read :: IO [Line]
read = do
line <- getLine
let count = length line
lines <- replicateM (count-1) $ do
line <- getLine
if length line /= count
then fail "too long or too short"
else return line
return $ line : lines
行是字符串类型。
readLn 给出一个解析错误。