是否可以在OCaml中打印值的名称,例如,如果我有
type my_type =
| MyType_First of int
| MyType_Second of string
Run Code Online (Sandbox Code Playgroud)
然后做类似的事情:
let my_value = MyType_First 0 in
print_string ("my_value is of type " ^ String.from_type my_value ^ ".\n";
Run Code Online (Sandbox Code Playgroud)
我可以得到"my_value属于MyType_First类型".?
谢谢.
单形解:
let from_type = function
| MyType_First _ -> "MyType_First"
| MyType_Second _ -> "MyType_Second"
Run Code Online (Sandbox Code Playgroud)
多态解:无.(AFAIK,对应于构造函数的词法标记不会记录在字节码/二进制文件中,即使指定了调试标志.唯一可以做的就是使用一些黑暗打印构造函数的整数'标识符' Obj.magic.)
| 归档时间: |
|
| 查看次数: |
2822 次 |
| 最近记录: |