OCAML有条件文件读数



我想进行命令#use" a.ml"条件执行即,在" if语句"中,如下所示...

let funs = function (true) -> #use "1.ml"
| (false)-> #use "2.ml";;
有什么办法吗?

#use指令是OCAML Toplevel的解释环境(REPP)的一部分。这不是OCAML语言本身的构造。因此,您的示例代码作为OCAML程序没有意义。

但是,很明显您要做什么:您想在运行时选择一组功能的两个实现(即两个模块)。

这是一流模块的目的。请参阅此出色的答案。

最新更新