প্যাটার্ন এবং ম্যাচিং (Patterns and Matching)

প্যাটার্ন হল Rust-এ টাইপের স্ট্রাকচারের সাথে মেলানোর জন্য একটি বিশেষ সিনট্যাক্স, যা জটিল এবং সরল উভয় ধরনের হতে পারে। match এক্সপ্রেশন এবং অন্যান্য গঠনের সাথে প্যাটার্ন ব্যবহার করলে আপনি একটি প্রোগ্রামের কন্ট্রোল ফ্লো-এর উপর আরও বেশি নিয়ন্ত্রণ পাবেন। একটি প্যাটার্ন নিম্নলিখিতগুলির মধ্যে কয়েকটির সমন্বয়ে গঠিত:

  • লিটারেল (Literals)
  • ডিস্ট্রাকচার্ড অ্যারে, এনাম, স্ট্রাক্ট বা টাপল
  • ভেরিয়েবল
  • ওয়াইল্ডকার্ড
  • প্লেসহোল্ডার

কিছু উদাহরণ প্যাটার্নের মধ্যে রয়েছে x, (a, 3), এবং Some(Color::Red)। যে প্রসঙ্গগুলিতে প্যাটার্নগুলি বৈধ, এই উপাদানগুলি ডেটার আকার বর্ণনা করে। আমাদের প্রোগ্রাম তারপর কোডের একটি নির্দিষ্ট অংশ চালানো চালিয়ে যাওয়ার জন্য ডেটার সঠিক আকার আছে কিনা তা নির্ধারণ করতে মানগুলিকে প্যাটার্নের সাথে মেলায়।

একটি প্যাটার্ন ব্যবহার করার জন্য, আমরা এটিকে কিছু মানের সাথে তুলনা করি। যদি প্যাটার্নটি মানের সাথে মেলে, তাহলে আমরা আমাদের কোডে মানের অংশগুলি ব্যবহার করি। Chapter 6-এর match এক্সপ্রেশনগুলি স্মরণ করুন যা প্যাটার্ন ব্যবহার করে, যেমন মুদ্রা-বাছাই মেশিনের উদাহরণ। যদি মানটি প্যাটার্নের আকারের সাথে খাপ খায়, তাহলে আমরা নামযুক্ত অংশগুলি ব্যবহার করতে পারি। যদি তা না হয়, তাহলে প্যাটার্নের সাথে সম্পর্কিত কোড চলবে না।

এই চ্যাপ্টারটি প্যাটার্ন সম্পর্কিত সমস্ত কিছুর একটি রেফারেন্স। আমরা প্যাটার্ন ব্যবহার করার বৈধ স্থান, রিফিউটেবল এবং ইরিফিউটেবল প্যাটার্নের মধ্যে পার্থক্য এবং বিভিন্ন ধরনের প্যাটার্ন সিনট্যাক্স যা আপনি দেখতে পারেন তা কভার করব। চ্যাপ্টারের শেষে, আপনি পরিষ্কারভাবে অনেক ধারণা প্রকাশ করার জন্য কীভাবে প্যাটার্ন ব্যবহার করবেন তা জানতে পারবেন।