我的代码:Haskell的IO递归
read :: IO [Line]
read = do
line <- getLine
let count = length line
line2 <- getLine
if (length line2 /= count)
then error "too long or too short"
else read
我想要做的是,根据用户需要 输入长度为1的多个行的第一行的长度,也如果任何这些线不具有相同的长度 作为原线,将显示一个错误消息。
现在我的代码仅仅是一个无限循环,因为我不能完全弄清楚 如何输入长度-1多行。对此的一些指导将不胜感激。
编辑:行是String类型
的原因,你的代码是一个无限循环,是因为你允许它停止的唯一方法是与错误。否则,它将一直跟随if语句的另一个分支并一次又一次地递归。 – 2012-03-12 18:23:09