我是OCaml的新手,我想把一些代码放到另一个文件中,比如foo.ml,就像在C++或Python中那样.但是这部分代码本身并不构成一个模块.
我已经包含#use "foo.ml"在我的主要源文件的头部.但是当我使用ocamlbuild它构建我的项目时,它会报告I/O error: "foo.ml: No such file or directory".但显然foo.ml是在当前的工作目录中.
我想知道是否有人知道如何在OCaml中实现这个目标并让我的项目被构建,或者如果这不是OCaml中的约定?任何建议都是受欢迎的.
Tho*_*ash 12
#use "foo.ml" 是交互式顶层的指令,它不适用于编译器.
如果您想将代码拆分为不同的文件(这是一个好主意,并且强烈建议在OCaml中使用),那么您应该使用模块系统.为什么说你的代码不构成模块?如果您的代码仅包含一次性函数,则它们应与使用它们的函数位于同一文件中.如果您的代码是可重用的,那么它就形成了一个模块.