Pattern Matching Args with Exact Values
In elixir there is a handy trick for pattern matching for exact values. Let's say we have a function head_match
that takes two arguments, a string and a list, that checks if the string argument is the same as the head of the list. We could use pattern matching like this:
def head_match(head, [head, _tail]) do
IO.puts("Thats the head of the List!")
end
#this will match if we called it like head_match("first_word", ["first_word", "second_word"])
See how we named the first argument head
and used that same name as the list head? This means that the function will only match if those two values are the exact same rather than just matching the structure of the arguments.