Elixir has four ways to access functionality from other modules
alias
This allows us to the short version especially for nested name spaces.
alias MyApp.Accounts.User let us use just User rather than the full
name.
It also allows us to define our own short names. e.g. alias MyApp.LattitudeAndLongitude as latlong
python supports the second use case via import module as shortname syntax
import
Import functionality from other modules. This is similar to python's import
and from module import syntax.
In python, if you want to import a few functions, you use from module import func1, func2 etc. But if you want to use most but not all functions, you
end up with a long from statement.
Elixir provides only and except options to make such importing easier.
use
use adds the functionality from other modules into the current one.
|
|
Here, func2 became available to Module1
python does not have similar functionality.
require
This is similar to use except for macros. It makes a macro from an external
module available to the compiler at compile time.
-
References