See also: https://elixir-lang.org/getting-started/case-cond-and-if.html#if-and-unless
This is also a good opportunity to talk about variable scoping in Elixir. If any variable is declared or changed inside
if,case, and similar constructs, the declaration and change will only be visible inside the construct. For example:
iex> x = 1
1
iex> if true do
...> x = x + 1
...> end
2
iex> x
1
In said cases, if you want to change a value, you must return the value from the
if:
iex> x = 1
1
iex> x = if true do
...> x + 1
...> else
...> x
...> end
2






















