如何從 STDIN 讀取一個位元組?
我嘗試在 Hoogle 上搜索,IO Word8但沒有任何用處。
我能找到的最接近的是System.IO.getChar,但它讀取的是 aChar不是 a Word8。
uj5u.com熱心網友回復:
我認為最簡單的選擇是hGet像這樣從 Data.ByteString 使用:
import qualified Data.ByteString as B
import System.IO (stdin)
import Data.Word (Word8)
getByte :: IO Word8
getByte = B.head <$> B.hGet stdin 1
您也可以hSetBinaryMode像這樣使用:
import System.IO
import Data.Word (Word8)
getByte :: IO Word8
getByte = do
hSetBinaryMode stdin True
c <- getChar
hSetBinaryMode stdin False
pure $! fromIntegral (fromEnum c)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437091.html
標籤:哈斯克尔
上一篇:VS2022快速添加類
