linux - F# ToString() %A 格式在带有单声道的 linux 上不起作用
问题描述
我使用安装了单声道的 fsharpc 编译器。我想为我的某些类型覆盖 ToString() 方法。问题是它编译得很好,但printf "%A"
只是给了我默认的调试输出。所以为了绝对确定我没有遗漏任何东西,我在 try.fsharp.org 上写了一个简单的测试并自己编译了相同的代码。仍然只是获得默认格式
那么.net框架中是否缺少某些东西?
解决方案
为确保printf
调用ToString()
,请使用%O
format 而不是%A
:
type MyType =
{
MyValue : string
}
override __.ToString() = "Hello!"
[<EntryPoint>]
let main argv =
let record = { MyValue = "A value" }
printfn "%A" record // { MyValue = "A value" }
printfn "%O" record // Hello!
0
有关详细信息,请参阅此链接。
推荐阅读
- python - 由用户对 Dataframe 列执行计算并添加为新列
- php - 使用标志时 MySQL 连接被拒绝
- python - Apache SPark:groupby 未按预期工作
- amazon-web-services - 亚马逊个性化 SIMS 和个性化排名食谱是否支持元数据?
- html - 修复了具有全窗口拉伸和滚动时不重复的背景图像?
- r - R:如何在df中的5个变量中逐行找到10个最常见的对
- python - Python ModuleNotFound 等
- kotlin - 我应该为一个小列表使用 Android 分页库吗?
- javascript - 如何合并两个包含相同键的不同值的对象数组,并将新对象推入数组?
- php - 如果表单用于更新,则 JQuery Validation 禁用验证