آیا cond آخرین شرط درست را اعمال می کند؟

با درود خدمت شما . الکسیر ماکرو های زیادی برای شرط دارد cond, with, case, if شاید بازم داشته باشه من خبر نداشته باشم :sweat_smile: خلاصه برای بنده cond جذاب شده است .

من طبق این آموزش یک شرط درست کردم که هر دو پارامترش درست است .

iex(5)> cond do
...(5)> 1 + 1 == 1 -> IO.puts "one is true"
...(5)> 2 + 2 == 4 -> IO.puts "two is true"
...(5)> end
two is true

همانطور که در بالا مشاهده می کنید دومین شرط با اینکه اولین شرط نیز درست بوده چاپ شده .

حال با این شرایط , یک سوال - شما چه زمانی از cond استفاده می کنید ؟

البته در سایت الکسیر نوشته شده بود که وقتی از این شرط استفاده می شود که ما بخواهیم چندین شرط را بررسی کنیم و این مورد خارج از case باشد

در مورد case در سایت سازنده زبان گفته است که زمانی استفاده می شود که شرط ما حالت های مختلفی دارد و به صورت پترن می توان آن را فراخوانی کرد و همینطور در مورد if گفته است که زبانی استفاده می شود فقط پای یک احتمال در میان باشد

منبع :

1 پسندیده

خیر! cond اولین true رو هدف قرار میده, یعنی اولین گزینه ای که nil یا false نباشه.

همانطور که در بالا مشاهده می کنید دومین شرط با اینکه اولین شرط نیز درست بوده چاپ شده .

Only in Alien maths 
1 + 1 == 1

EaDfh6y4HN-12

1 پسندیده

چه سوتی :grin: دادم . هزار بار می گم آدم خسته هست باید بگیره بخوابم نه یک سره بیدار باشه :grin: . بزارم این پست باشه ویرایش نکنم تا عمر یادم باشه چطور بدن ریاضی دان هارو تو گور لرزاندم :sunglasses:

الان بهتر شد . پس اگر چندین شرط که یکی باید درست باشد از اول به آخر بخواهیم بررسی کنیم بهترین راه cond می باشد

1 پسندیده

متوجه شدم خسته بودی، گفتم عیده یه شوخی کرده باشم :slight_smile:

1 پسندیده