Ocaml #load没有最高水平?

时间:2018-10-18 10:49:11

标签: ocaml

我对ocaml有问题,我是ocaml的初学者。 我想使用#load“ .... ml”。 然后打开“ .... ml”。

当我使用emacs时还可以,但是我目前在ocaml编译器中使用linux xfce,并且当我尝试使用#load和open时,出现语法错误。

如果我在加载之前不需要使用“#”,但我也已经在网上查看了,但是我也遇到语法错误。

与Emacs一起工作的代码示例:

int elementsCount = allElements.size(); 

在liste_ap1.cmo中有什么

#load "list_ap1.cmo"
open List_ap1;;

有人可以帮助我吗? 祝你有美好的一天

1 个答案:

答案 0 :(得分:2)

toplevel中所述,$model = new Object; $model->save(); echo $model->getPrimaryKey(); // print primary key value 用于加载字节码文件,这意味着您已经使用#load将ocaml源编译为字节码,在这种情况下,您将加载扩展名为ocamlc.cmo的文件。前导.cma意味着它是用于顶层环境的命令,而不是ocaml关键字。

#是一个关键字,用于打开用于构造ocaml代码的ocaml模块(请参阅modules)。

要启动ocaml顶级环境而不是编译器,只需启动:open,就可以调用ocaml。 加载#load后,您可以通过编写完整路径List_ap1来使用其功能。或者,如果您List_ap1.len使用此模块,则直接命名函数,而无需将模块名称作为前缀。