2017-04-21 7 views
0

私はOCamlの連絡先のリストを扱うことからなる学校プロジェクトに取り組んでいます。モジュールを作る必要があることですが、その仕組みが分かりません。私はagenda.ml、agenda.mli、contact.ml、contact.mliを持っていますが、私がagenda.mlを使用したいときは、既にContactを使用していてもContact.functionを呼び出すとContactはアンバウンド値です.ml "。OCamlのパーソナルモジュール

誰かが私にそのモジュール全体のことを教えてもらえますか?

+0

2つのモジュールをできるだけ小さくし、使用しているコンパイルコマンドを提供してください(うまくいけば、ocamlbuildを使用してください)...これを行うと、モジュールを掘り起こすのに役立ちます。お手伝いします:) - ネット上には十分な文書があります(INRIA、Real World Ocaml、および:http://www.dicosmo.org/CourseNotes/pfav/1314/cours1.handout.pdf) –

答えて

1

あなたはトップレベルを使用している場合は、#mod_use <filename>ではなく#use <filename>使用する必要があります。#mod_use <filename>は、現在のスコープに新しいモジュール<Filename>を定義するファイルを使用し、一方、#use <filename>は、単純に、現在のスコープ内のファイル名の内容を読み取ります。

しかし、両方#mod_use#usemlmliファイルのペアで作業することができない、単純なテキストのディレクティブです。ある時点でOCamlビルドシステムを読む必要があります。単純な学校プロジェクトでは、ocamlbuildは良いアイデアかもしれません。プロジェクト全体をコンパイルするのはocamlbuild <main>.nativeと同じくらい単純かもしれません。

+0

ありがとうそれは動作しています。今のテストでは十分ですが、後ほどocamlbuildを見てみましょう! –