October 2014
Intermediate to advanced
280 pages
7h 20m
English
The question we most often ask of our maps is, “Do you have the following keys (and maybe values)?”
Is there an entry with the key :name?
Are there entries for the keys :name and :height?
Does the entry with key :name have the value "Dave"?
Here’s how we ask these questions using Elixir patterns.
| | iex> person = %{ name: "Dave", height: 1.88 } |
| | %{height: 1.88, name: "Dave"} |
| | iex> %{ name: a_name } = person |
| | %{height: 1.88, name: "Dave"} |
| | iex> a_name |
| | "Dave" |
| | iex> %{ name: _, height: _ } = person |
| | %{height: 1.88, name: "Dave"} |
| | iex> %{ name: "Dave" } = person |
| | %{height: 1.88, name: "Dave"} |
Our map does not have the key :weight, so the following pattern match fails:
| | iex> %{ ... |
Read now
Unlock full access