From 0c9424455e3cd33e61d24b7809c3faf73f875f50 Mon Sep 17 00:00:00 2001 From: Evgeny Garlukovich Date: Tue, 6 Feb 2018 21:31:07 +0300 Subject: [PATCH] Add Elixir examples for hash tables --- 05_hash_tables/elixir/01_price_of_groceries.exs | 9 +++++++++ 05_hash_tables/elixir/02_check_voter.exs | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 05_hash_tables/elixir/01_price_of_groceries.exs create mode 100644 05_hash_tables/elixir/02_check_voter.exs diff --git a/05_hash_tables/elixir/01_price_of_groceries.exs b/05_hash_tables/elixir/01_price_of_groceries.exs new file mode 100644 index 0000000..ebe65f2 --- /dev/null +++ b/05_hash_tables/elixir/01_price_of_groceries.exs @@ -0,0 +1,9 @@ +import Map, only: [put: 3] + +book = + %{} + |> put("apple", 0.67) + |> put("milk", 1.49) + |> put("avocado", 1.49) + +IO.inspect(book) diff --git a/05_hash_tables/elixir/02_check_voter.exs b/05_hash_tables/elixir/02_check_voter.exs new file mode 100644 index 0000000..1195c50 --- /dev/null +++ b/05_hash_tables/elixir/02_check_voter.exs @@ -0,0 +1,14 @@ +defmodule Voting do + def check_voter(voters_map, name) do + if Map.has_key?(voters_map, name) do + IO.puts("kick them out!") + else + IO.puts("let them vote!") + Map.put(voters_map, name, true) + end + end +end + +Voting.check_voter(%{}, "tom") +|> Voting.check_voter("mike") +|> Voting.check_voter("mike")