Tips: include()
- Do not use
include()to “include” a package into your project. - Actually,
include()loads code from a file. I don’t think Python has such a low level command. In C/C++, it probably corresponds to what the linker does (Of course it also loads the code in memory). -
include()was meant to load code stored in subfiles (not submodules) - allowing you to break your solution up into multiple files. - Only
include()files that are directly part of your current package/project. - Do not
include()files from other “software modules” (projects).
Tips: module
-
module MyModis not a “software module” as you likely think of it. It is simply a global namespace. - You can have more than one
moduleper file, and can have multiple files permodule(because they are namespaces - not "software modules)).
Tips: Package
- A package is probably what you should think of when you intend on developing a “software module”.
Tips: import MyPkg/using MyPkg
- Yes,
importorusingis the thing to do if you import a separate package. - When you
import MyPkg(orusing MyPkg), Julia first checks if it is already loaded. - If not already loaded, Julia checks in its package “locations” (Project.toml+LOAD_PATH folders), and loads it.
-
import MyPkg(orusing MyPkg) then returns a reference to the package’s associated module (i.e. namespace).