开发者

String formatting in Haskell

What is Ha开发者_开发知识库skell's equivalent of

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


There is a Printf module in GHC.

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

however it is probably simpler to just do

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


You could use the format function provided by the text-format-simple package:

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

This function has the signature:

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

So all you need is provide your parameters as strings.
Another example:

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


Putting answer here in case somebody searching for formatting libraries in Haskell on StackOverflow. There's type-safe and fast formatting library called fmt now. With it you can write code like this:

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


Is this what you are looking for?

printf "%d %d" 10 20

See Text.Printf.


Alternatively you could write

unwords [show 10, show 20]

or even

unwords (map show [10, 20])
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜