खोज…


स्ट्रीमिंग आईओ

io-streams स्ट्रीम स्ट्रीम-आधारित लाइब्रेरी है जो स्ट्रीम एब्स्ट्रक्शन पर केंद्रित है लेकिन IO के लिए। यह दो प्रकारों को उजागर करता है:

  • InputStream : केवल पढ़ने योग्य स्मार्ट हैंडल

  • OutputStream : राइट-ओनली स्मार्ट हैंडल

हम makeInputStream :: IO (Maybe a) -> IO (InputStream a) साथ एक स्ट्रीम बना सकते हैं। स्ट्रीम से रीडिंग का उपयोग करके read :: InputStream a -> IO (Maybe 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