zoukankan      html  css  js  c++  java
  • Haskell语言学习笔记(93)Data.Text

    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

    Data.Text.IO 模块负责 Text 的输入和输出。

    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 "感じる"
    感じる
    

    Data.Text.Encoding

    Prelude> :set -XOverloadedStrings
    Prelude> :m +Data.Text
    Prelude Data.Text> :m +Data.Text.Encoding
    Prelude Data.Text Data.Text.Encoding> encodeUtf8 "Хорошо!"
    "208165208190209128208190209136208190!"
    Prelude Data.Text Data.Text.Encoding> encodeUtf8 "哈斯克尔7.6.1的力量"
    "229147136230150175229133139229176148&7.6.1231154132229138155233135143"
    Prelude Data.Text Data.Text.Encoding> encodeUtf8 "感じる"
    "230132159227129152227130139"
    Prelude Data.Text Data.Text.Encoding> import qualified Data.Text.IO as TIO
    Prelude Data.Text Data.Text.Encoding TIO> TIO.putStrLn $ decodeUtf8 "230132159227129152227130139"
    感じる
    
  • 相关阅读:
    Abp通用配置模块的设计
    Windbg分析高内存占用问题
    IdentityServer4 知多少
    找不到对象,『空对象模式』来帮忙
    EF Core中避免贫血模型的三种行之有效的方法(翻译)
    Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)
    .NET Core 源码导航(按程序集链接)
    ASP.NET Core Web App应用第三方Bootstrap模板
    给ASP.NET Core Web发布包做减法
    Azure Web连接到Azure MySql Db
  • 原文地址:https://www.cnblogs.com/zwvista/p/9943837.html
Copyright © 2011-2022 走看看