وقتی میخواهیم کد شاخهدار داشته باشیم، میتوانیم از 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 اولین مسیری را دنبال میکند که به true ارزیابی شود. حداقل یکی از بندها باید به true ارزیابی شود، وگرنه خطای زمان اجرا رخ میدهد.
معمولاً از ساختار شرطی cond زمانی استفاده میشود که بیش از دو شاخهی منطقی وجود دارد و هر شاخه شرطی دارد که بر متغیرهای متفاوتی بنا شده است. اگر همهی شرطها بر متغیرهای یکسان بنا شده باشند، ساختار شرطی case انتخاب بهتری است. اگر فقط دو شاخهی منطقی وجود دارد، بهجای آن از ساختار شرطی if استفاده کنید.