gpt4 book ai didi

F# string.Format

转载 作者:行者123 更新时间:2023-12-04 13:40:48 30 4
gpt4 key购买 nike

我正在编写我的第一个 F# 库

我正在尝试使用 string.Format它提示不存在这样的功能。

它不可用还是我做错了什么?

最佳答案

如果你想避免使用全名,你可以使用 open在 F# 中:

open System
let s = String.Format("Hello {0}", "world")

这应该适用于 F# 交互式(首先输入 open 子句)和正常编译的应用程序。关键是一定要写 String大写 S .这是因为 string在 C# 中不是通常的类型名称 - 它是一个关键字,指的是 System.String类型。

或者,您也可以查看 sprintf功能。它是 String.Format 的 F# 特定替代品这有一些不错的好处 - 例如它是类型检查的:
let s = sprintf "Hello %s! Number is %d" "world" 42

编译器将检查参数(字符串和整数)是否与格式说明符匹配( %s 表示字符串, %d 表示整数)。该函数在您想使用偏函数应用的场景中也能更好地工作:
let nums = [ 1 .. 10 ]
let formatted = nums |> List.map (sprintf "number %d")

这将产生一个包含“数字 1”、“数字 2”等的字符串列表...如果你想使用 String.Format 来做到这一点,您必须显式编写一个 lambda 函数。

关于F# string.Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2979178/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com