0

OpaDoプログラムのソースを参照していて、モジュールTodoで呼び出された関数が呼び出されていることに気付きましたmypage。この関数はファイル'ui'で宣言されていますが、ファイルのどこにもファイルはインポートされtodo.opaません。ui.opa

これは「トップレベル」の意味ですか?モジュールの外部で宣言されたすべての関数は自由にアクセスできますか?どうtypesですかrecords

コンパイラはこの依存関係を認識し、コンパイルui.opaを求められたときに自動的にコンパイルされますtodo.opaか?

4

1 に答える 1

0

デフォルトでは、すべてのopaソースファイルは同じデフォルトパッケージに属しています。

そのため、todo.opaとui.opaをコンパイルすると、すべての関数、タイプ、およびレコードが同じパッケージ内の他のファイルで使用できるようになります。

「トップレベル」とは、関数内ではなく、ソースファイルの最初のレベルでの宣言を意味します。

複数のパッケージを使用する場合、コンパイラは必要なファイルだけをコンパイルする必要があります。

于 2012-08-01T11:02:10.183 に答える