我开始用Julia编写我的第一个自定义模块。我正在做的是将所有文件写入一个文件夹中,然后将它们导入一个ModuleName.jl
文件中,最后编写一个测试程序,该程序执行一个预编译的main()
函数,该函数调用我的自定义模块(我喜欢保持模块化的编程风格(。
问题是我想我在using
和import
关键字的使用上遗漏了一些东西。在我的测试文件中,我有以下几行:
push!(LOAD_PATH,"./ModuleNameFolder")
using ModuleName
我认为如果加载了using
,ModuleName
的函数可以在没有显式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