links: [[Elixir MOC]] --- `cond` is used when you need to match against different values. However, in many cases, we want to check different conditions and find one that does not evaluate to `nil` or `false` ```elixir cond do 2 + 2 == 5 -> "This will not be true" 2 * 2 == 3 -> "Nor this" 1 + 1 == 2 -> "But this will" end # => But this will ``` This is equivalent to `else if` in many imperative programming languages. if all the conditions return `nil` or `false` an error (`CondClassError`) is raised during runtime, For this reason, it maybe necessary to add a final condition `true` which will always match. `cond` considers any value besides `nil` and `false` to be true --- tags: #elixir #conditionals sources: - [Cond in Elixir](https://elixir-lang.org/getting-started/case-cond-and-if.html#cond)