Haskell中的字符串格式

时间:2010-03-18 08:25:59

标签: string haskell

什么是haskell相当于

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

5 个答案:

答案 0 :(得分:33)

GHC中有一个Printf模块。

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

然而,只做

可能更简单
str = show 10 ++ " " ++ show 20

答案 1 :(得分:23)

您可以使用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]

答案 2 :(得分:7)

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

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

答案 3 :(得分:4)

这是你在找什么?

printf "%d %d" 10 20

请参阅Text.Printf

答案 4 :(得分:2)

或者您可以写

unwords [show 10, show 20]

甚至

unwords (map show [10, 20])