首页 > 编程语言 > 详细

Haskell语言学习笔记(86)字符串格式化与插值

时间:2018-07-21 23:13:09      阅读:169      评论:0      收藏:0      [点我收藏+]

字符串格式化

  • Text.Printf
    这个模块用来处理字符串格式化。
  • printf :: PrintfType r => String -> r
    printf 用于格式化字符串,注意这个函数的返回类型是多态的。
Prelude> :m +Text.Printf
Prelude Text.Printf> printf "%s, %d, %.4f\n" "hello" 123 pi
hello, 123, 3.1416
Prelude Text.Printf> a = printf "%s, %d, %.4f" "hello" 123 pi
Prelude Text.Printf> :t a
a :: PrintfType t => t
Prelude Text.Printf> putStrLn a
hello, 123, 3.1416
Prelude Text.Printf> a :: String; a = printf "%s, %d, %.4f" "hello" 123 pi
Prelude Text.Printf> a
"hello, 123, 3.1416"

字符串插值

安装 interpolate

$ cabal install interpolate
Installed interpolate-0.2.0
Prelude> :set -XQuasiQuotes
Prelude> import Data.String.Interpolate
Prelude Data.String.Interpolate> 

interpolate 是一个处理字符串插值的模块。
该模块使用语言扩展 QuasiQuotes,#{...} 是插值部分。

Prelude Data.String.Interpolate> let name = "Marvin"
Prelude Data.String.Interpolate> putStrLn [i|name: #{name}|]
name: Marvin
Prelude Data.String.Interpolate> let age = 23
Prelude Data.String.Interpolate> putStrLn [i|age: #{age}|]
age: 23
Prelude Data.String.Interpolate> let profession = "\955-scientist"
Prelude Data.String.Interpolate> putStrLn [i|profession: #{unwords [name, "the", profession]}|]
profession: Marvin the λ-scientist

Haskell语言学习笔记(86)字符串格式化与插值

原文:https://www.cnblogs.com/zwvista/p/9348270.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!