我的代碼: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