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 ruta 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 usa normalmente cuando hay más de dos ramas lógicas y cada rama tiene una condición basada en variables diferentes. Si todas las condiciones se basan en las mismas variables, un condicional case es más adecuado. Si solo hay dos ramas lógicas, usa un condicional if en su lugar.