Pattern Matching
Notes
What's a Term?
In the video we used the word term as in "match the term on the right-hand side". If you poke around the Elixir documentation you'll see references to term as well.
A term is a value of any data type: a string, an atom, a map, a list, etc.
Shortcut: Using Atoms As Map Keys
Elixir atoms are prefixed by a colon. For example, here's a map that uses atoms as keys:
%{ :method => "GET", :path => "/wildthings" }
However, it's so common to use atoms as keys that Elixir gives us a shortcut. And we love shortcuts, so we used it in the video:
%{ method: "GET", path: "/wildthings" }
This form is more concise: we removed the =>
and put the colon (:
) on the other side of the atom. (Wow, that sounded scientific!)
If the keys are anything but atoms, you must use the general =>
form. For example, here's a map with strings as keys:
%{ "method" => "GET", "path" => "/wildthings" }
Code So Far
The code for this video is in the parse
directory found within the video-code
directory of the
code bundle.