gpt4 book ai didi

f# - 为什么 F# printfn 没有根据 Console.WriteLine 实现?

转载 作者:行者123 更新时间:2023-12-04 20:00:18 25 4
gpt4 key购买 nike

我注意到在使用 F# printfn 时出现意外行为。它似乎将格式字符串分解为 block 并为每次调用 printfn 多次调用 Console.Write。我希望它格式化整个字符串,然后调用 Console.WriteLine 一次。

我注意到这一点是因为我使用 Console.SetOut 调用和我自己的 TextWriter 拦截标准控制台输出,它试图在每一行输出前加上时间戳和一些额外的自定义文本。

什么给了?

最佳答案

这是我的猜测,它的值(value):

  1. 编译器做了一些魔术
  2. 在运行时,实现者知道 Write 将转到缓冲流,因此性能不会与使用 StringBuilder 对象及其 ToString() 覆盖之类的东西有很大不同。也许性能会更好,因为他们避免了对象分配。

关于f# - 为什么 F# printfn 没有根据 Console.WriteLine 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459472/

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