这是一个示例test.mli
接口(interface),使用ocamldoc样式的注释进行了注释:
(** ocamldoc module comment *)
open MissingModule;;
(** ocamldoc function comment *)
val test : unit;;
如果运行命令
ocamldoc test.mli
,则会出现以下错误:File "test.mli", line 2, characters 0-9:
Error: Unbound module MissingModule
1 error(s) encountered
为什么文档生成器应该关心未绑定(bind)的模块?
最佳答案
那是因为ocamldoc
完全限定了类型名称。文件:
open MissingModule
val f: foo -> unit
被翻译成
val f: MissingModule.foo -> unit
并且
MissingModule.foo
成为foo
中MissingModule
定义的很好的交叉引用(如果missingModule.mli
作为ocamldoc
的参数给出)。为了完成答案,为了完全限定类型标识,您需要输入要处理的文件。因此,
ocamldoc
需要能够访问相应的.cmi
文件。