我想要一些看起来像文件句柄的东西,但实际上是由内存缓冲区支持用于I/O重定向.我怎样才能做到这一点?
我刚刚编写了一个提供此功能的库,名为"knob"[ hackage ].您可以使用它来创建Handle
引用/修改的s ByteString
:
import Data.ByteString (pack) import Data.Knob import System.IO main = do knob <- newKnob (pack []) h <- newFileHandle knob "test.txt" WriteMode hPutStrLn h "Hello world!" hClose h bytes <- Data.Knob.getContents knob putStrLn ("Wrote bytes: " ++ show bytes)