您好我试图产生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]'
如何使其匹配?
答案 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
。