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 回答