Julia 自定义模块变量范围
Julia custom module scope of variables
我开始用 Julia 编写我的第一个自定义模块。
我正在做的是将所有文件写入一个文件夹,然后将它们导入 ModuleName.jl
文件并最终编写一个测试程序,该程序执行一个预编译的 main()
函数,该函数调用我的自定义模块(我喜欢保留一个模块化编程风格)。
问题是我想我在使用 using
和 import
关键字时遗漏了一些东西。在我的测试文件中,我有以下几行:
push!(LOAD_PATH,"./ModuleNameFolder")
using ModuleName
我认为 ModuleName
的函数如果加载了 using
可以在没有显式 ModuleName.myfunct()
的情况下调用,但只能通过 myfunct()
调用,但事实并非如此。如果我省略 ModuleName
,编译器将抛出一个 UndefVarError
。
我究竟做错了什么?我想把我的自定义模块的所有功能都放在主范围上
欢迎来到朱莉娅。
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
我开始用 Julia 编写我的第一个自定义模块。
我正在做的是将所有文件写入一个文件夹,然后将它们导入 ModuleName.jl
文件并最终编写一个测试程序,该程序执行一个预编译的 main()
函数,该函数调用我的自定义模块(我喜欢保留一个模块化编程风格)。
问题是我想我在使用 using
和 import
关键字时遗漏了一些东西。在我的测试文件中,我有以下几行:
push!(LOAD_PATH,"./ModuleNameFolder")
using ModuleName
我认为 ModuleName
的函数如果加载了 using
可以在没有显式 ModuleName.myfunct()
的情况下调用,但只能通过 myfunct()
调用,但事实并非如此。如果我省略 ModuleName
,编译器将抛出一个 UndefVarError
。
我究竟做错了什么?我想把我的自定义模块的所有功能都放在主范围上
欢迎来到朱莉娅。
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