F#DU的漂亮打印不起作用

时间:2016-02-01 02:15:16

标签: f#

我正在努力进行漂亮打印(%A)this DU

本地instr属于ILInstr类型。

我原以为sprintf "%A" instr会导致I_stloc 0us,但正如您在本地窗口中看到的那样(请参阅instr_str_A),它只显示了typename。 所有三种不同的格式字符串(%A,%O,.ToString())都会产生相同的输出。 enter image description here

我做错了什么?

然后我与a simpler DU进行了交互式尝试,但是有效:

> type Contact = Email of string | Phone of int
let email = Email "bob@example.com"
printfn "%A" email    // nice
printfn "%O" email    // ugly!
;;
Email "bob@example.com"
FSI_0002+Contact+Email

一些可能相关或不相关的事情:

  • DU是私人的
  • 这是在VisualFSharp / Microsoft.FSharp.Compiler
  • 以下,它使用原型编译器,而不是常规编译器。原型编译器可能不是特征完整吗?

0 个答案:

没有答案