if, else এবং case স্টেটমেন্ট

Computer Programming - এল্ম (Elm) - Control Flow (নিয়ন্ত্রণ প্রবাহ)
154

if, else, এবং case স্টেটমেন্ট

Elm একটি ফাংশনাল প্রোগ্রামিং ভাষা, যেখানে সাধারণ if, else এবং case স্টেটমেন্টগুলি ব্যবহার করে শর্তাধীন লজিক (conditional logic) পরিচালনা করা হয়। এগুলি কোডের বিভিন্ন শাখা এবং সিদ্ধান্ত নেয়ার জন্য ব্যবহৃত হয়। এখানে if, else এবং case স্টেটমেন্টের ব্যাবহার এবং তাদের মধ্যে পার্থক্য তুলে ধরা হলো।


১. if এবং else স্টেটমেন্ট

if এবং else স্টেটমেন্টগুলি সাধারণত শর্তাধীন কোড এক্সিকিউশনের জন্য ব্যবহৃত হয়। যদি কোনো শর্ত সত্য (true) হয়, তাহলে if ব্লকটি এক্সিকিউট হয়, অন্যথায় else ব্লকটি এক্সিকিউট হয়।

Sintax:

if condition then
    -- code to execute if condition is true
else
    -- code to execute if condition is false

উদাহরণ:

isEven : Int -> String
isEven n =
    if n % 2 == 0 then
        "Even"
    else
        "Odd"

এখানে isEven ফাংশনটি একটি পূর্ণসংখ্যা নেবে এবং তার উপর শর্ত প্রয়োগ করে চেক করবে যে এটি even না odd। যদি সংখ্যা ২ দিয়ে বিভাজ্য হয় (মানে শর্ত সত্য), তাহলে "Even" রিটার্ন করবে, অন্যথায় "Odd" রিটার্ন করবে।


২. case স্টেটমেন্ট

case স্টেটমেন্টটি সাধারণত pattern matching এর জন্য ব্যবহৃত হয়, যেখানে আপনি একাধিক শর্ত বা ডেটার ধরন অনুসারে ভিন্ন ভিন্ন কোড এক্সিকিউট করতে পারেন। এটি ফাংশনাল ভাষায় বিশেষভাবে শক্তিশালী, কারণ এটি ডেটার বিভিন্ন ধরন অনুযায়ী শর্ত নির্ধারণে সহায়তা করে।

Sintax:

case value of
    pattern1 -> result1
    pattern2 -> result2
    _ -> defaultResult

এখানে value হল সেই মান যা case এর মাধ্যমে পরীক্ষিত হবে, এবং প্রতিটি pattern তার সাথে মেলে এমন শর্ত বা ডেটা ধরন।

উদাহরণ:

describeNumber : Int -> String
describeNumber n =
    case n of
        0 -> "Zero"
        1 -> "One"
        _ -> "Other"

এখানে describeNumber ফাংশনটি একটি পূর্ণসংখ্যা n নেবে এবং তার মানের উপর ভিত্তি করে সঠিক স্ট্রিং রিটার্ন করবে:

  • যদি n ০ হয়, তাহলে "Zero" রিটার্ন করবে।
  • যদি n ১ হয়, তাহলে "One" রিটার্ন করবে।
  • অন্য যেকোনো সংখ্যার জন্য "Other" রিটার্ন করবে।

_ হল একটি wildcard যা অন্য সব মানের জন্য ব্যবহার করা হয়।


৩. if এবং case এর মধ্যে পার্থক্য

  • if সাধারণত কোনো শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়, যেমন সংখ্যা মুডুলাস চেক করা বা Boolean ভ্যালু পরীক্ষা করা। এটি সাধারণত একক শর্তের জন্য উপযোগী।
  • case একটি ভিন্ন ধরনের শর্ত চেক করার জন্য ব্যবহৃত হয়, যেখানে একাধিক ভিন্ন ভিন্ন শর্ত বা প্যাটার্ন মেলা (pattern matching) করা হয়। এটি ডেটার ধরন বা বিভিন্ন অবস্থা অনুযায়ী কোড এক্সিকিউট করতে সাহায্য করে।

৪. আরও উন্নত উদাহরণ

ifelse উদাহরণ:

checkAge : Int -> String
checkAge age =
    if age >= 18 then
        "Adult"
    else
        "Minor"

এখানে checkAge ফাংশনটি একজন ব্যক্তির বয়সের উপর ভিত্তি করে বলবে সে Adult নাকি Minor

case উদাহরণ:

describeShape : Shape -> String
describeShape shape =
    case shape of
        Circle radius -> "A circle with radius " ++ String.fromInt radius
        Rectangle width height -> "A rectangle with width " ++ String.fromInt width ++ " and height " ++ String.fromInt height
        _ -> "Unknown shape"

এখানে describeShape ফাংশনটি বিভিন্ন ধরনের Shape পরীক্ষা করে:

  • যদি Circle পাওয়া যায়, তাহলে তার রেডিয়াস দেখানো হবে।
  • যদি Rectangle পাওয়া যায়, তাহলে তার প্রস্থ এবং উচ্চতা দেখানো হবে।
  • অন্য যেকোনো ক্ষেত্রে "Unknown shape" রিটার্ন করবে।

উপসংহার

if, else, এবং case স্টেটমেন্টগুলি Elm এ শর্তাধীন কোড এক্সিকিউশনের জন্য ব্যবহৃত হয়, তবে তাদের ব্যবহার এবং প্রাসঙ্গিকতা কিছুটা আলাদা:

  • if সাধারণ শর্তমূলক পরীক্ষা করে একক সিদ্ধান্ত নেয়।
  • case ডেটার ধরন বা প্যাটার্ন অনুযায়ী একাধিক শর্ত পরীক্ষা করে, যা ফাংশনাল প্রোগ্রামিংয়ে খুবই শক্তিশালী।
  • else সাধারণত if এর অংশ হিসেবে ব্যবহৃত হয়, যখন শর্ত মেলে না তখন অন্য একটি কোড ব্লক এক্সিকিউট করতে।

এগুলি ব্যবহার করে আপনি আপনার কোডে কার্যকরী শর্ত নির্ধারণ করতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...