Question: What is the difference between using and import in Julia when I'm building my own module?
My guess based on reading the docs: using is used to bring another module into the name-space of the current module. import is used to bring specific types/functions/variables from other modules into the name-space of the current module.
So, how wrong am I?
The difference between import and from import in Python is: import imports the whole library. from import imports a specific member or members of the library.
To load a module from a package, the statement using ModuleName can be used. To load a module from a locally defined module, a dot needs to be added before the module name like using . ModuleName . would load the above code, making NiceStuff (the module name), DOG and nice available.
The Julia Modules documentation states:
The
importkeyword [...] only operates on a single name at a time. It does not add modules to be searched the wayusingdoes.importalso differs fromusingin that functions must be imported usingimportto be extended with new methods. [...] Functions whose names are only visible viausingcannot be extended.
(Emphasis mine.)
For example, you can use import to add methods to Base.show to pretty-print your own types, but not with using.
There is also importall that imports all exported names of a module.
(This answer refers to Julia 0.6; the documentation was reworded for 1.0.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With