Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在浏览OpaDo 程序的源代码,并注意到在Todo 模块中调用了一个名为的函数mypage。此函数在文件 'ui'中声明,但文件中的任何地方都todo.opa没有ui.opa导入文件。
mypage
todo.opa
ui.opa
这就是“顶级”的意思吗?所有在模块之外声明的函数都可以自由访问吗?types或者怎么样records?
types
records
编译器是否识别这种依赖关系并且ui.opa在被要求编译时会自动编译todo.opa吗?
默认情况下,所有 opa 源文件都属于同一个默认包。
这就是为什么在编译 todo.opa 和 ui.opa 时,所有函数、类型和记录都可用于同一包中的其他文件。
“顶级”是指源文件第一级的声明,而不是函数内部的声明。
当您使用多个包时,编译器应该只编译必要的文件。