Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Elixir Cookbook
  • Table Of Contents Toc
  • Feedback & Rating feedback
Elixir Cookbook

Elixir Cookbook

By : Paulo Pereira
4.5 (2)
close
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
close
10
Index

Using agents as an abstraction around states


The Agent module provides a basic server implementation and is a convenient way to spawn a process that needs to maintain a state. Agents in Elixir provide an intuitive API to update and retrieve the state.

In this recipe, we will create a module, phone_book.ex, where we will be able to store and retrieve data.

How to do it…

To create our phone book using an agent to maintain states, follow these steps:

  1. Open your code editor and create a file named phone_book.ex.

  2. Add the following code to the file you created:

    defmodule PhoneBook do
    
      @name __MODULE__
    
      def start_link do
        Agent.start_link(fn -> %{} end, name: @name)
      end
    
      def insert(user, number) do
        Agent.update(@name, &Map.put(&1, user, number))
      end
    
      def get(user) do
        Agent.get(@name, &Map.get(&1, user))
      end
    
    end
  3. Start IEx and load the module:

    > iex phone_book.ex
    
  4. Start the process that will hold our phone book data:

    iex(1)> PhoneBook.start_link
    {:ok, #PID...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech

Create a Note

Modal Close icon
You need to login to use this feature.
notes
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

Delete Note

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

Edit Note

Modal Close icon
Write a note (max 255 characters)
Cancel
Update Note

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY