Cuando queremos que el código tenga ramificaciones, podemos usar cond/1:
cond do
x > 10 -> :this_might_be_the_way
y < 7 -> :or_that_might_be_the_way
true -> :this_is_the_default_way
end
cond sigue la primera rama que se evalúa como true. Al menos una cláusula debe evaluarse como true, o se producirá un error en tiempo de ejecución.
El condicional cond se suele usar cuando hay más de dos ramas lógicas y cada rama tiene una condición basada en variables distintas. Si todas las condiciones se basan en las mismas variables, encaja mejor un condicional case. Si solo hay dos ramas lógicas, usa un condicional if en su lugar.