【发布时间】:2021-11-16 20:33:51
【问题描述】:
在以下 F# 代码中;我希望printfn 被调用了三次;每个都有一个字符串。但是,底线无法编译(The type 'string' is not compatible with the type 'Printf.TextWriterFormat<'a>')。
前两行意味着这可以工作吗?它们不也只是字符串吗?
open System
printfn ("\r\n") // Works
printfn ("DANNY") // Works
printfn (DateTime.Now.ToLongTimeString()) // Doesn't compile
【问题讨论】:
-
我不明白为什么,既然有
printf到print format,为什么不是一个print,它只是在没有格式化的情况下打印?将其定义为let print (x : string) = printf "%s" x很容易,但这似乎很愚蠢,而且可能效率低下。 -
有一个被批准的建议添加
print作为 Console.WriteLine 的别名。 github.com/fsharp/fslang-suggestions/issues/1092