OCaml:获取值的类型名称
可以在 OCaml 中打印值的名称,例如,如果我有
type my_type =
| MyType_First of int
| MyType_Second of string
,然后执行以下操作:
let my_value = MyType_First 0 in
print_string ("my_value is of type " ^ String.from_type my_value ^ ".\n";
我可以获得“my_value 的类型为 MyType_First”吗? ?
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
单晶型溶液:
多晶型溶液:无。 (据我所知,即使指定了调试标志,与构造函数相对应的词法标记也不会记录在字节码/二进制文件中。唯一能做的就是使用一些暗
Obj.txt 来打印构造函数的整数“标识符”。魔法
。)Monomorphic solution:
Polymorphic solution: none. (AFAIK, lexical tokens corresponding to constructors are not recorded in the bytecode/binary, even when debugging flags are specified. The only thing one could do is to print the integer ‘identifier’ for the constructor, using some dark
Obj.magic
.)您想要的是一种更简单的通用打印形式,并且在 OCaml 中不可用,但存在一些解决方法 - 例如 推导。
What you want is a simpler form of generic print and is not available in OCaml as such, but some workarounds exist - e.g. deriving.