在OCaml源代码4.07中,在typing/typemod.ml
的第1452行中:
let type_str_item env srem {pstr_loc = loc; pstr_desc = desc} =
我找不到desc
的定义位置。函数type_str_item
是在type_structure
函数中定义的,但是desc
不是type_structure
的参数之一。
我在任何地方都找不到它的定义,并且我将对其进行模式匹配,因此我不能忽略它。
如何浏览OCaml源代码以查找定义?
答案 0 :(得分:4)
此代码片段未使用变量,而是通过模式匹配来绑定一个。这是一种记录模式,它将变量desc
绑定到pstr_desc
字段。
要浏览ocaml源,有merlin
代码辅助工具,它为某些常见的编辑器(以及各种其他功能)提供跳转到定义的功能。但是,这对您没有帮助,因为您已经在查看desc
的定义。