Haskellでバイナリの書き出し
まずは、型の確認。
Prelude> :t Data.ByteString.Lazy.putStr Data.ByteString.Lazy.putStr :: Data.ByteString.Lazy.Internal.ByteString -> IO () Prelude> :t Data.Binary.Put.runPut Data.Binary.Put.runPut :: Data.Binary.Put.Put -> Data.ByteString.Lazy.Internal.ByteString Prelude> :t Data.Binary.Put.putWord8 Data.Binary.Put.putWord8 :: GHC.Word.Word8 -> Data.Binary.Put.Put Prelude>
ワンライナーで確認。
Prelude> Data.Binary.Put.runPut $ Data.Binary.Put.putWord8 65 "A" Prelude> Data.Binary.Put.runPut $ Data.Binary.Put.putWord8 65 >> Data.Binary.Put.putWord8 97 "Aa" Prelude> Data.ByteString.Lazy.putStr $ Data.Binary.Put.runPut $ Data.Binary.Put.putWord8 65 APrelude> Prelude> Data.ByteString.Lazy.putStr $ Data.Binary.Put.runPut $ Data.Binary.Put.putWord8 65 >> Data.Binary.Put.putWord8 97 AaPrelude>
結局、showしてしまうので、ワンライナーだと無理か。。。