如何在处理第二部分时一遍又一遍地拆分列表?例如:
recursiveFun list = do
...
newlist = snd $ splitAt 2 list
recursiveFun newlist
永远不会通过列表,
编辑:源代码
translatePixelsToMatrix :: B.ByteString -> Int -> Int -> [Matrix Word8] -> [Matrix Word8]
translatePixelsToMatrix bytes columns rows mat = do
let mat = matrix rows columns (\(i, j) -> (B.index bytes $ toEnum $ (i - 1) + (j - 1) * columns)) : mat
let contents = snd $ B.splitAt (toEnum (rows * columns)) bytes
if not $ B.null contents
then translatePixelsToMatrix contents rows columns mat
else mat
的第一个论点
translatePixelsToMatrix bytes columns rows mat
在函数的每次调用中都是相同的,但我想用
删除n个第一个元素 let contents = snd $ B.splitAt (toEnum (rows * columns)) bytes
then translatePixelsToMatrix contents rows columns mat