Book Image

Elixir Cookbook

By : Paulo Pereira
Book Image

Elixir Cookbook

By: Paulo Pereira

Overview of this book

Table of Contents (16 chapters)
Elixir Cookbook
About the Author
About the Reviewers

Namespacing modules

We can think of a module as a namespace. Every function defined inside a module has to be prepended with that module's name in order to be invoked elsewhere.

It is also possible to store our modules inside directories in order to better organize them to suit our purpose or intent.

In this recipe, we will show you how to namespace modules and use them.

Getting ready

In this recipe, we will use a Mix application. You will find the application in the source code folder under chapter3/demo. Navigate to the application directory in your terminal window and compile the project to make sure everything is ready:

> cd Code/Chapter 4/demo
> mix compile

How to do it…

In order to demonstrate the use of three namespaced modules within our generated Mix application, follow these steps:

  1. Modify the lib/demo.ex file by adding the run_me function:

    def run_me(name \\ "Stranger") do
      IO.puts " #{__MODULE__} says \"Hi there #{name}!\""