例如,当有项目本地的.ocamlinit时,我想包含我的全局〜/ .ocamlinit文件。在本地目录中,因为我要做的事情是在〜/ .ocamlinit中设置我的utop历史记录文件名。
为此,我尝试了
#use (Filename.concat (Sys.getenv "HOME") ".ocamlinit");;
当然那是行不通的,所以我看了toplevel directives,但它们似乎都带有字符串参数。如何做到最好?
我想,更笼统地说,问题是如何将非常量传递给顶级指令(不确定是否在评估任何代码之前对指令进行了预处理)。
答案 0 :(得分:1)
您可以使用compiler-libs软件包提供的编程接口。例如,
Topdirs.dir_use Format.err_formatter (Filename.concat (Sys.getenv "HOME") ".ocamlinit")
应无需任何依赖即可工作。