Ehub
Ehub

Reputation: 51

Julia custom module scope of variables

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

Answers (1)

Antonello
Antonello

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

Related Questions