গা

গার্ড মধ্যে Elixir

53টি অনুশীলনী

গার্ড সম্পর্কে

গার্ড ব্যবহার করা হয় প্যাটার্ন ম্যাচিং-এর পরিপূরক হিসেবে। এগুলো আরও জটিল চেক করার সুযোগ দেয়। প্যাটার্ন ম্যাচিং যেসব ক্ষেত্রে ব্যবহার করা যায়, তার কিছু ক্ষেত্রে, তবে সব ক্ষেত্রে নয়, গার্ড ব্যবহার করা যায়, যেমন ফাংশন ক্লজ বা কেস ক্লজে।

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • গার্ড শুরু হয় when কিওয়ার্ড দিয়ে, এরপর থাকে একটি বুলিয়ান এক্সপ্রেশন।

  • গার্ড এক্সপ্রেশন হলো বিশেষ ধরনের ফাংশন, যেগুলো:

    • অবশ্যই পিউর হতে হবে এবং কোনো গ্লোবাল স্টেট পরিবর্তন করবে না।
    • অবশ্যই কঠোরভাবে true বা false মান রিটার্ন করতে হবে।
  • কমন গার্ডের একটি তালিকা Elixir ডকুমেন্টেশনে পাওয়া যায়। এর মধ্যে আছে:

    • টাইপ চেক: is_integer/1, is_list/1, is_nil/1 ইত্যাদি।
    • গাণিতিক অপারেটর: +/2, -/2 ইত্যাদি।
    • তুলনা: ==/2, >/2, </2 ইত্যাদি।
    • বুলিয়ান অপারেটর: and/2, or/2, not/1
    • মেম্বারশিপ অপারেটর: in/2
  • আপনি defguard দিয়ে নিজের গার্ড ডিফাইন করতে পারেন।

    • Elixir-এর নেমিং কনভেনশন অনুযায়ী, গার্ডের নাম is_ দিয়ে শুরু হওয়া উচিত।

      defmodule HTTP do
        defguard is_success(code) when code >= 200 and code < 300
      
        def handle_response(code) when is_success(code) do
          :ok
        end
      end
      
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

গার্ড শিখুন

অনুশীলন লক করা আছে

গার্ড অনুশীলন করতে আরও 6টি অনুশীলনী আনলক করুন