我正在嘗試編寫一個Haskell代碼,它接受一個列表並返回列表。當我這樣做,如下面的代碼,我得到「的功能重組非詳盡模式」在Haskell中將相同長度的子列表打破列表
reGroup :: [[Int]] -> [Int] -> [[Int]]
reGroup [[]] [] = [[]]
reGroup [[]] xs = reGroup [(take 3 xs)] (drop 3 xs)
reGroup [[a]] [] = [[a]]
reGroup [[a]] xs = reGroup [[a], (take 3 xs)] (drop 3 xs)
-- calling the reGroup function from another function as follow
reGroup [[]] [1,2,3,4,5,6,7,8,9]
我要的是[1,2,3,4,5,6,7,8,9]
- >[[1,2,3], [4,5,6], [7,8,9]]
。我做錯了什麼或有人能告訴我一個簡單的方法?
+1尼斯使用模式匹配 – 2013-03-07 22:23:11
的(我認爲你有1太多的括號層在'[其他]'。) – huon 2013-03-07 22:28:19
@dbaupp現在固定。 – 2013-03-07 23:13:42