什么是haskell相当于
string str = string.Format("{0} {1}",10,20); // C#
Run Code Online (Sandbox Code Playgroud)
new*_*cct 35
GHC中有一个Printf模块.
import Text.Printf
str :: String
str = printf "%d %d" 10 20
Run Code Online (Sandbox Code Playgroud)
但是这样做可能更简单
str = show 10 ++ " " ++ show 20
Run Code Online (Sandbox Code Playgroud)
Dmi*_*lov 24
您可以使用text-format-simple包format提供的功能:
import Text.Format
format "{0} {1}" [show 10, show 20]
Run Code Online (Sandbox Code Playgroud)
此功能具有签名:
format :: String -> [String] -> String
Run Code Online (Sandbox Code Playgroud)
所以你需要的只是提供你的参数作为字符串.
另一个例子:
format "Some {0} believes that 1 + 1 = {1}." ["people",show 10]
Run Code Online (Sandbox Code Playgroud)
在这里给出答案,以防有人在StackOverflow上搜索Haskell中的格式库.fmt现在称为类型安全和快速格式化库.有了它,您可以编写如下代码:
> "There are "+|n|+" million bicycles in "+|city|+"."
Run Code Online (Sandbox Code Playgroud)