11

最近OCamlプロジェクトを読んでいて、ソースファイルをutopに置いて、いくつかの実験を行いたいと思っています。amodule.mlbmodule.ml
という 2 つのファイルがあるとします。bmodule.mlは、 amodule.mlで定義された関数を使用します。たとえば、bmoduleはamodule.anyfunction()を使用します。ここで、anyfunction()はamodule.mlで定義されています。 両方をutopに入れたい:

#directory "/directory contain amodule.ml and bmodule.ml"
#use "amodule.ml"
#use "bmodule.ml"

Amodule はamodule.mlファイルに基づくモジュール名であり、 utopはこれらのことを認識していないため、これは機能しません。 では、ファイルの内容を変更せずにこれらのファイルを utop に配置するにはどうすればよいでしょうか?</p>

4

1 に答える 1

14

#use a.mlトップレベルでそれらのステートメントを直接入力したかのように、a.ml 内のすべてのステートメントを実行します。したがって、module A定義されていないため、他のファイルに のようなものを含めることはできませんA.foo。必要に応じてmodule A、最初に a.ml をバイト コンパイルし、次に .ml をコンパイルする必要があります#load a.cmo

于 2013-12-14T18:19:56.233 に答える