字节流的无限循环

时间:2014-08-11 12:11:51

标签: haskell

您好我试图产生ByteStream的无限循环。 (并不是说它会有多大用处,只是搞乱)

main :: IO ()
main = L.writeFile "test" $ 
  L.take 10000 $ L.cycle [0..255]

但是因为L.cycle [0..255]所以它是Couldn't match expected type 'L8.ByteString' with actual type '[Integer]'

如何使其匹配?

1 个答案:

答案 0 :(得分:5)

这应该有效:

import qualified Data.ByteString.Lazy as L

main :: IO ()
main = L.writeFile "test" $ 
  L.take 10000 $ L.cycle (L.pack [0..255])

cycle的类型为ByteString -> ByteString,您正在为它提供一个整数列表,这就是您遇到编译错误的原因。您可以使用pack功能将Word8列表转换为ByteString