Tom*_*cek 102
如果您想避免使用全名,可以open在F#中使用:
open System
let s = String.Format("Hello {0}", "world")
Run Code Online (Sandbox Code Playgroud)
这应该在F#interactive(open首先输入子句)和正常编译的应用程序中都有效.关键是你必须String用大写字母写S.这是因为stringC#不是通常的类型名称 - 它是一个引用System.String类型的关键字.
或者,您也可以查看该sprintf功能.它是一种F#特定的替代品String.Format,有一些很好的好处 - 例如它是类型检查:
let s = sprintf "Hello %s! Number is %d" "world" 42
Run Code Online (Sandbox Code Playgroud)
编译器将检查参数(string和int)是否与格式说明符匹配(%s对于字符串和%d整数).在要使用部分函数应用程序的情况下,该函数也可以更好地工作:
let nums = [ 1 .. 10 ]
let formatted = nums |> List.map (sprintf "number %d")
Run Code Online (Sandbox Code Playgroud)
这将产生一个包含"数字1","数字2"等字符串的列表......如果你想使用它String.Format,你必须显式写一个lambda函数.