Julia自定义模块变量范围



我开始用Julia编写我的第一个自定义模块。我正在做的是将所有文件写入一个文件夹中,然后将它们导入一个ModuleName.jl文件中,最后编写一个测试程序,该程序执行一个预编译的main()函数,该函数调用我的自定义模块(我喜欢保持模块化的编程风格(。

问题是我想我在usingimport关键字的使用上遗漏了一些东西。在我的测试文件中,我有以下几行:

push!(LOAD_PATH,"./ModuleNameFolder")
using ModuleName

我认为如果加载了usingModuleName的函数可以在没有显式ModuleName.myfunct()的情况下调用,但只能通过myfunct()调用,而事实并非如此。如果我省略了ModuleName,编译器将抛出一个UndefVarError。我做错了什么?我想把我的自定义模块的所有功能都带到主范围上

欢迎来到Julia。你说precompiled main() function是什么意思?Julia中的测试通常设置在一个特定的文件上,该文件在每次将代码推送到用于托管代码的存储库时自动运行。

无论如何,试试include ./ModuleName,然后是using .ModuleName(注意点(记住export中要直接使用的ModuleName中的对象

看看我的教程:https://syl1.gitbook.io/julia-language-a-concise-tutorial/language-core/11-developing-julia-packages

最新更新