Quand on veut que le code se ramifie, on peut utiliser 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 suit la première branche qui s'évalue à true. Au moins une clause doit s'évaluer à true, sinon une erreur d'exécution sera levée.
Le conditionnel cond s'utilise généralement quand il y a plus de deux branches logiques et que chaque branche a une condition basée sur des variables différentes. Si toutes les conditions reposent sur les mêmes variables, mieux vaut un conditionnel case. S'il n'y a que deux branches logiques, utilise plutôt un conditionnel if.