F#中sprintfn函数去向何方?为何无法使用该函数?
关于F#中
sprintfn函数的疑问解答 嘿,我来帮你理清这个问题!
首先要明确:sprintfn从来就不是F#核心标准库的成员——它最初是F# PowerPack(曾经官方维护的F#扩展工具集)里的工具函数,作用和printfn类似,但不会把内容输出到控制台,而是直接返回格式化后的字符串(还会自动附加换行符)。
后来F# PowerPack停止了维护,其中部分功能被整合到核心库或独立包中,但sprintfn并没有被纳入核心标准库,所以你在默认F#环境里找不到它是正常的,它并没有被从语言中移除,只是从来不属于语言核心部分而已。
如果你需要类似的功能,完全可以自己快速实现一个:
// 模拟原sprintfn的行为:格式化后返回带换行的字符串 let sprintfn format = sprintf (format + "\n") // 使用示例 let greeting = sprintfn "Hi there, %s!" "Bob" // greeting的值为 "Hi there, Bob!\n"
要是你不需要自动添加换行,直接用核心库自带的sprintf就足够满足绝大多数格式化需求啦。
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

