Haskell Language
ストリーミングIO
サーチ…
ストリーミングIO
io-streams
はストリーム抽象化に焦点を絞ったストリームベースのライブラリですが、IOのためのライブラリです。それは2つのタイプを公開します:
InputStream
:読み取り専用スマートハンドルOutputStream
:書き込み専用スマートハンドル
私たちはmakeInputStream :: IO (Maybe a) -> IO (InputStream a)
ストリームを作成することができます。ストリームからの読み込みを使用して行われるread :: InputStream a -> IO (Maybe a)
、 Nothing
EOFを意味しません。
import Control.Monad (forever) import qualified System.IO.Streams as S import System.Random (randomRIO) main :: IO () main = do is <- S.makeInputStream $ randomInt -- create an InputStream forever $ printStream =<< S.read is -- forever read from that stream return () randomInt :: IO (Maybe Int) randomInt = do r <- randomRIO (1, 100) return $ Just r printStream :: Maybe Int -> IO () printStream Nothing = print "Nada!" printStream (Just a) = putStrLn $ show a
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow