Erlang এ if, case, এবং cond স্টেটমেন্ট
Erlang-এ বিভিন্ন ধরণের কন্ডিশনাল স্টেটমেন্ট ব্যবহৃত হয়, যেমন if, case, এবং cond। এই স্টেটমেন্টগুলি প্রোগ্রামে শর্ত অনুযায়ী বিভিন্ন কার্যক্রম সম্পাদন করার জন্য ব্যবহৃত হয়। এগুলি ফাংশনাল প্রোগ্রামিং ধারণার সাথে সঙ্গতিপূর্ণ এবং কোডের কার্যকারিতা ও পাঠযোগ্যতা বাড়াতে সাহায্য করে।
1. if স্টেটমেন্ট
Erlang-এ if স্টেটমেন্ট একটি শর্তপূর্ণ সিদ্ধান্ত নেওয়ার জন্য ব্যবহৃত হয়। if ব্লকে বিভিন্ন শর্ত থাকতে পারে এবং প্রতিটি শর্তের জন্য একটি এক্সপ্রেশন বা কার্যক্রম থাকে।
সিনট্যাক্স:
if
Condition1 -> Expression1;
Condition2 -> Expression2;
true -> Expression3
end.- Condition1, Condition2: এখানে আপনি যে শর্তটি পরীক্ষা করতে চান তা লিখবেন। শর্ত সত্য হলে সংশ্লিষ্ট Expression কার্যকর হবে।
- true -> Expression3: এটি একটি ডিফল্ট কন্ডিশন, যা সব শর্ত মিথ্যা হলে কার্যকর হয়।
উদাহরণ:
check_number(X) ->
if
X > 0 -> io:format("Positive number~n");
X < 0 -> io:format("Negative number~n");
true -> io:format("Zero~n")
end.এখানে:
- যদি
Xএর মান পজিটিভ হয়, তাহলে "Positive number" প্রিন্ট হবে। - যদি
Xএর মান নেগেটিভ হয়, তাহলে "Negative number" প্রিন্ট হবে। - অন্যথায়, Zero প্রিন্ট হবে।
2. case স্টেটমেন্ট
case স্টেটমেন্টটি একটি নির্দিষ্ট ভেরিয়েবলের মানের উপর ভিত্তি করে একাধিক শর্ত পরীক্ষা করে এবং প্রতিটি শর্ত অনুযায়ী একটি এক্সপ্রেশন বা কার্যক্রম কার্যকর করে। এটি অনেক সময় প্যাটার্ন ম্যাচিং করার জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
case Expression of
Pattern1 -> Expression1;
Pattern2 -> Expression2;
_ -> DefaultExpression
end.- Expression: এটি যে এক্সপ্রেশনটির উপর ভিত্তি করে শর্ত পরীক্ষা হবে।
- Pattern1, Pattern2: প্যাটার্ন ম্যাচিং এবং শর্ত যাচাই করা হয়। যদি কোন প্যাটার্ন মেলে, তবে সংশ্লিষ্ট Expression কার্যকর হয়।
_: এটি একটি ডিফল্ট প্যাটার্ন, যা অন্য সব প্যাটার্ন না মেললে কার্যকর হয়।
উদাহরণ:
check_day(Day) ->
case Day of
monday -> io:format("Start of the week~n");
friday -> io:format("Almost weekend~n");
saturday -> io:format("Weekend!~n");
sunday -> io:format("Rest day~n");
_ -> io:format("Invalid day~n")
end.এখানে:
Dayএর মান অনুসারে সঠিক বার্তা প্রিন্ট হবে।_ব্যবহার করা হয়েছে যাতে কোনো অন্য মান থাকলে "Invalid day" প্রিন্ট হয়।
3. cond স্টেটমেন্ট
Erlang-এর স্ট্যান্ডার্ড লাইব্রেরিতে cond নামে কোনো স্টেটমেন্ট নেই। তবে আপনি সম্ভবত cond হিসেবে অভিপ্রেত case বা if স্টেটমেন্টের মতো কিছু বুঝাতে চাইছেন। যদি cond আপনার নিজস্ব কোনো স্টেটমেন্ট হয়ে থাকে, তবে সাধারণত আপনি case অথবা if ব্যবহার করবেন, যেগুলি যথাযথ কন্ডিশনাল স্টেটমেন্ট হিসেবে কাজ করবে।
তবে, Erlang এ সাধারণত case বা if এর মতো শর্তমূলক স্টেটমেন্ট ব্যবহার করা হয় এবং এগুলি অধিকাংশ পরিস্থিতিতে যথেষ্ট কার্যকরী।
উপসংহার
- if স্টেটমেন্ট: সাধারণ শর্ত পূরণের ভিত্তিতে একাধিক শাখার মধ্যে সিদ্ধান্ত নেয়।
- case স্টেটমেন্ট: প্যাটার্ন ম্যাচিংয়ের মাধ্যমে একাধিক শর্ত পরীক্ষার জন্য ব্যবহৃত হয়।
- cond: Erlang-এ কোনো
condস্টেটমেন্ট নেই, তবেcaseবাifএর মতো স্টেটমেন্টগুলিই কন্ডিশনাল কাজের জন্য ব্যবহৃত হয়।
Read more