Haskell从列表中获取元素

时间:2018-01-25 22:57:23

标签: list haskell recursion split

如何在处理第二部分时一遍又一遍地拆分列表?例如:

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

0 个答案:

没有答案