Haskell語言學習筆記(93)Data.Text
阿新 • • 發佈:2018-11-11
Data.Text.Read
Prelude> :set -XOverloadedStrings Prelude> :m +Data.Text.Read Prelude Data.Text.Read> decimal "123" Right (123,"") Prelude Data.Text.Read> decimal "abc" Left "input does not start with a digit" Prelude Data.Text.Read> rational "123.4" Right (123.4,"") Prelude Data.Text.Read> signed double "-3.4" Right (-3.4,"")
decimal :: Integral a => Reader a
type Reader a = IReader Text a
type IReader t a = t -> Either String (a, t)
- Data.Text.Read 中的函式用於解析 Text 型別的字串,將其裝換為數值型別。
- decimal 函式負責解析整數值,它接收一個 Text 型別的字串作為引數,返回 Either 型別的值。
成功時返回一個二元組,字串所包含的數值以及剩餘的字串
失敗時返回錯誤資訊:該輸入不以數字開頭 - rational 函式與 decimal 相類似,它負責解析有理數的值。
Data.Text.IO
Prelude> :set -XOverloadedStrings
Prelude> import qualified Data.Text.IO as TIO
Prelude TIO> TIO.putStrLn "Хорошо!"
Хорошо!
Prelude TIO> TIO.putStrLn "哈斯克爾7.6.1的力量"
哈斯克爾7.6.1的力量
Prelude TIO> TIO.putStrLn "感じる"
感じる