繁体   English   中英

Haskell 中的字符串格式化

[英]String formatting in Haskell

Haskell 的等价物是什么

string str = string.Format("{0} {1}",10,20); // C#

GHC 中有一个Printf模块。

import Text.Printf
str :: String
str = printf "%d %d" 10 20

但是这样做可能更简单

str = show 10 ++ " " ++ show 20

您可以使用text-format-simple包提供的format功能:

import Text.Format
format "{0} {1}" [show 10, show 20]

这个函数有签名:

format :: String -> [String] -> String

所以你需要的只是提供你的参数作为字符串。
另一个例子:

format "Some {0} believes that 1 + 1 = {1}." ["people",show 10]

如果有人在 StackOverflow 上的Haskell 中搜索格式化库,请将答案放在这里。 现在有名为fmt的类型安全和快速格式化库。 有了它,您可以编写如下代码:

> "There are "+|n|+" million bicycles in "+|city|+"."

这是你想要的?

printf "%d %d" 10 20

请参阅Text.Printf

或者你可以写

unwords [show 10, show 20]

甚至

unwords (map show [10, 20])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM