Reputation: 51
I am starting writing my first custom module in Julia.
What I am doing is writing all the files in a folder, then import them in a ModuleName.jl
file and eventually writing a test program which executes a precompiled main()
function which calls my custom module (I like keeping a modular style of programming).
The problem is that I think I am missing something on the use of using
and import
keywords. In my test file I have the following lines:
push!(LOAD_PATH,"./ModuleNameFolder")
using ModuleName
I thought that functions of ModuleName
if loaded with using
could be called without explicit ModuleName.myfunct()
, but only through myfunct()
while this is not the case. If I omit the ModuleName
the compiler throws an UndefVarError
.
What am I doing wrong? I would like to bring all the functions of my custom module on the main scope
Upvotes: 1
Views: 311
Reputation: 6431
Welcome to Julia.
What do you mean by precompiled main() function
? Tests in Julia are normally set on a specific file that is run automatically at each push of your code on the repository that you use to host the code.
Any how, try include ./ModuleName
followed by using .ModuleName
(note the dot). And remember to export
the objects in ModuleName
that you want to make available directly.
Have a look on my tutorial: https://syl1.gitbook.io/julia-language-a-concise-tutorial/language-core/11-developing-julia-packages
Upvotes: 1