我最近正在阅读一个OCaml项目,我想把源文件放在utop中,这样我就可以做一些实验了。
假设我有两个文件amodule.ml,bmodule.ml。
bmodule.ml将使用amodule.ml中定义的函数,例如,b模块 use Amodule.anyfunction(),其中anyfunction()是在amodule.ml中定义的。
我想把这两件事放在一起:
#directory "/directory contain amodule.ml and bmodule.ml"
#use "amodule.ml"
#use "bmodule.ml"这不起作用,因为是一个基于amodule.ml文件的模块名,我认为utop不知道这些事情。
那么,如何在不更改文件内容的情况下将这些文件放在utop中呢?
发布于 2013-12-14 18:19:56
#use a.ml执行a.ml中的每条语句,就好像您在toplevel中直接输入了这些语句一样。因此,您没有定义module A,因此您的其他文件不能具有类似A.foo的内容。如果您想要module A,您必须首先字节编译a.ml,然后是#load a.cmo。
https://stackoverflow.com/questions/20579238
复制相似问题