從 stdin 讀取
根據 Haskell 2010 語言規範 ,以下是 Prelude 中可用的標準 IO 函式,因此不需要匯入它們。
getChar::IO Char
- 從 stdin
讀取一個 Char
-- MyChar.hs
main = do
myChar <- getChar
print myChar
-- In your shell
runhaskell MyChar.hs
a -- you enter a and press enter
'a' -- the program prints 'a'
getLine::IO String
- 從 stdin
讀取 String
,沒有新行字元
Prelude> getLine
Hello there! -- user enters some text and presses enter
"Hello there!"
read::Read a => String -> a
- 將 String 轉換為值
Prelude> read "1" :: Int
1
Prelude> read "1" :: Float
1.0
Prelude> read "True" :: Bool
True
其他不太常見的功能是:
getContents::IO String
- 將所有使用者輸入作為單個字串返回,在需要時可以懶惰地讀取interact :: (String -> String) -> IO ()
- 採用 String-> String 型別的函式作為引數。標準輸入裝置的整個輸入作為引數傳遞給該函式