Assignments with the Match Operator

Learn how to use the match operator for assignments in Elixir.

We'll cover the following

In most languages, = is the assignment operator. To assign the value 1 to a variable a, depending on the language, we write something like a = 1. The value on the right-hand side is assigned to the variable on the left-hand side.

Examples

But in Elixir, = isn’t the assignment operator but a match operator. Let’s elaborate it first with a practical example:

iex> a = 1 
1
iex> a + 3 
4

Most programmers would look at this code and say, "Okay, we assign 1 to variable a, then we add 3 to it, which makes a equal to 4.”

But when it comes to Elixir, they’d be wrong. In Elixir, the equals sign isn’t an assignment. Instead, it’s like an assertion. It succeeds if Elixir can find a way of making the left-hand side equal the right-hand side.

Get hands-on with 1200+ tech skills courses.