Elixir: if, unless, এবং case স্টেটমেন্ট
Elixir তে কন্ডিশনাল স্টেটমেন্টগুলির মধ্যে if, unless, এবং case খুবই গুরুত্বপূর্ণ, এবং এগুলোর মাধ্যমে শর্তাধীন লজিক নির্ধারণ করা হয়। এগুলি Elixir তে কন্ডিশনাল লজিক তৈরি করতে ব্যবহৃত হয় এবং আপনাকে কোডের নির্দিষ্ট অংশগুলো সুনির্দিষ্ট শর্ত অনুযায়ী কার্যকরী করতে সাহায্য করে।
1. if স্টেটমেন্ট
if স্টেটমেন্ট হল সবচেয়ে সাধারণ কন্ডিশনাল স্টেটমেন্ট। এটি একটি শর্ত পরীক্ষা করে এবং সেই শর্তটি সত্য (true) হলে একটি ব্লক চালায়, আর মিথ্যা (false) হলে অন্য একটি ব্লক চালায়।
সিনট্যাক্স:
if <condition> do # condition সত্য হলে যা হবে else # condition মিথ্যা হলে যা হবে endউদাহরণ:
x = 5 if x > 3 do IO.puts("x is greater than 3") else IO.puts("x is less than or equal to 3") end
এখানে, x এর মান ৫ হওয়ায় শর্তটি সত্য, তাই আউটপুট হবে x is greater than 3।
ফলাফল:
x is greater than 3
2. unless স্টেটমেন্ট
unless স্টেটমেন্ট if স্টেটমেন্টের বিপরীত। অর্থাৎ, unless যখন শর্ত মিথ্যা হয়, তখন কোডের ব্লকটি চালায়। unless সাধারণত শর্তটি যদি মিথ্যা (false) হয় তবেই কাজ করে।
সিনট্যাক্স:
unless <condition> do # condition মিথ্যা হলে যা হবে else # condition সত্য হলে যা হবে endউদাহরণ:
x = 2 unless x > 3 do IO.puts("x is not greater than 3") else IO.puts("x is greater than 3") end
এখানে, x এর মান ২ হওয়ায় শর্তটি মিথ্যা, তাই আউটপুট হবে x is not greater than 3।
ফলাফল:
x is not greater than 3
3. case স্টেটমেন্ট
case স্টেটমেন্ট Elixir তে একটি শক্তিশালী কন্ডিশনাল স্টেটমেন্ট, যা বিভিন্ন প্যাটার্নের সাথে মানগুলির তুলনা করতে ব্যবহৃত হয়। এটি প্যাটার্ন ম্যাচিংয়ের উপর ভিত্তি করে কাজ করে। case ব্যবহার করে আপনি একাধিক সম্ভাবনা পরীক্ষা করতে পারেন।
সিনট্যাক্স:
case <expression> do <pattern1> -> <code block1> <pattern2> -> <code block2> _ -> <code block for default case> endউদাহরণ:
x = 3 case x do 1 -> IO.puts("x is 1") 2 -> IO.puts("x is 2") 3 -> IO.puts("x is 3") _ -> IO.puts("x is some other value") end
এখানে, x এর মান 3 হওয়ায়, তৃতীয় প্যাটার্নটি মিলে যাবে এবং আউটপুট হবে x is 3।
ফলাফল:
x is 3ডিফল্ট কেস:
_(underscore) ব্যবহার করা হয় ডিফল্ট প্যাটার্ন হিসেবে, যেখানে কোনও প্যাটার্ন মেলানো না গেলে সেটি কাজ করবে।x = 10 case x do 1 -> IO.puts("x is 1") 2 -> IO.puts("x is 2") _ -> IO.puts("x is something else") endএখানে,
xএর মান10হওয়ায়_প্যাটার্নটি কার্যকরী হবে এবং আউটপুট হবেx is something else।
সারসংক্ষেপ
if: একটি শর্ত পরীক্ষা করে এবং সত্য হলে একটি ব্লক চালায়, মিথ্যা হলে অন্য একটি ব্লক চালায়।unless: এটিifএর বিপরীত। শর্ত মিথ্যা হলে কোডের ব্লকটি চালায়।case: একাধিক প্যাটার্নের মধ্যে মিল খুঁজে ফেলে এবং প্যাটার্ন ম্যাচিংয়ের মাধ্যমে কাজ করে। এটি অনেক বেশি শক্তিশালী, কারণ আপনি একাধিক শর্ত এবং প্যাটার্ন পরীক্ষা করতে পারেন।
এই কন্ডিশনাল স্টেটমেন্টগুলি Elixir তে আপনার কোডের লজিকাল স্ট্রাকচার তৈরি করতে সাহায্য করে এবং ভিন্ন ভিন্ন পরিস্থিতিতে কার্যকরী কোড পরিচালনা করতে সক্ষম করে।
Read more