Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Elixir Cookbook
  • Toc
  • feedback
Elixir Cookbook

Elixir Cookbook

By : Paulo Pereira
4.5 (2)
close
Elixir Cookbook

Elixir Cookbook

4.5 (2)
By: Paulo Pereira

Overview of this book

This book is intended for users with some knowledge of the Elixir language syntax and basic data types/structures. Although this is a cookbook and no sequential reading is required, the book’s structure will allow less advanced users who follow it to be gradually exposed to some of Elixir’s features and concepts specific to functional programming. To get the most out of this book, you need to be well versed with Erlang.
Table of Contents (11 chapters)
close
10
Index

Enforcing behaviors

One of the reserved module attributes in Elixir is @behaviour. It is used to ensure that a given module implements the required callbacks and that the module implements a given interface and behaves in a defined way.

How to do it…

To demonstrate the use of the @behaviour module attribute, follow these steps:

  1. Create the Randomizer module inside the randomizer.ex file by adding the following code:
    defmodule Randomizer do
      use Behaviour
      defcallback randomize(low::Integer.t, high::Integer.t) :: Integer.t
    end
  2. Create a module to implement the Randomizer behavior inside the my_module.ex file by adding the following code:
    defmodule MyModule do
      @behaviour Randomizer
    end
  3. Open a new IEx session in the same directory where the modules defined in steps 1 and 2 are stored:
    > iex
    
  4. Compile both modules starting with Randomizer:
    iex(1)> c("randomizer.ex")
    [Randomizer]
    iex(2)> c("my_module.ex")
    my_module.ex:1: warning: undefined behaviour function randomize...
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete