Tuple Structs
রাস্টে Tuple Structs একটি ধরনের struct (স্ট্রাক্ট) যা সাধারণত একটি নির্দিষ্ট কাঠামোর সাথে ডেটা ধারণ করতে ব্যবহৃত হয়, কিন্তু এখানে ফিল্ডগুলির নাম দেওয়া হয় না, শুধু তাদের অবস্থান (position) অনুযায়ী ব্যবহৃত হয়। এটি একটি সাধারণ ধরনের স্ট্রাক্ট, যেখানে ফিল্ডগুলি অর্ডার অনুযায়ী অ্যাক্সেস করা হয়।
Tuple Structs এর সাধারণ কাঠামো:
struct MyStruct(i32, f64, char);এখানে, MyStruct একটি tuple struct যা তিনটি ভেরিয়েবল ধারণ করে: একটি পূর্ণসংখ্যা (i32), একটি ফ্লোটিং-পয়েন্ট সংখ্যা (f64), এবং একটি চরিত্র (char)।
Tuple Struct এর উদাহরণ:
// Tuple struct ডিক্লেয়ার করা
struct MyStruct(i32, f64, char);
fn main() {
// Tuple struct এর ইনস্ট্যান্স তৈরি করা
let instance = MyStruct(10, 3.14, 'a');
// Tuple struct এর ফিল্ড অ্যাক্সেস করা
println!("First: {}, Second: {}, Third: {}", instance.0, instance.1, instance.2);
}এখানে, instance.0 প্রথম ফিল্ড (i32), instance.1 দ্বিতীয় ফিল্ড (f64), এবং instance.2 তৃতীয় ফিল্ড (char) অ্যাক্সেস করেছে।
বিশেষত্ব:
- Tuple Structs সাধারণত দ্রুত, ছোট এবং সহজ ডেটা কাঠামোতে ব্যবহৃত হয়।
- এটি সেই সব ক্ষেত্রে ভাল যেখানে ফিল্ডগুলির নামের চেয়ে তাদের অবস্থান গুরুত্বপূর্ণ।
Named Structs
Named Structs একটি স্ট্রাক্ট যার প্রতিটি ফিল্ডের একটি নির্দিষ্ট নাম থাকে। এখানে ফিল্ডের নাম স্পষ্টভাবে ডিফাইন করা হয়, যা কোডের পাঠযোগ্যতা এবং সঠিক ফিল্ড অ্যাক্সেস নিশ্চিত করে। এটি ব্যবহারকারীদের জন্য আরও বেশি কার্যকরী, বিশেষত যখন আপনি একটি বৃহৎ ডেটা কাঠামো পরিচালনা করছেন।
Named Structs এর সাধারণ কাঠামো:
struct MyStruct {
x: i32,
y: f64,
z: char,
}এখানে, MyStruct একটি named struct, যার মধ্যে তিনটি ফিল্ড রয়েছে: x, y, এবং z। প্রতিটি ফিল্ডের নাম স্পষ্টভাবে উল্লেখ করা হয়েছে।
Named Struct এর উদাহরণ:
// Named struct ডিক্লেয়ার করা
struct MyStruct {
x: i32,
y: f64,
z: char,
}
fn main() {
// Named struct এর ইনস্ট্যান্স তৈরি করা
let instance = MyStruct { x: 10, y: 3.14, z: 'a' };
// Named struct এর ফিল্ড অ্যাক্সেস করা
println!("x: {}, y: {}, z: {}", instance.x, instance.y, instance.z);
}এখানে, instance.x, instance.y, এবং instance.z এর মাধ্যমে স্ট্রাক্টের ফিল্ডগুলি অ্যাক্সেস করা হয়েছে।
বিশেষত্ব:
- Named Structs ফিল্ডগুলির নাম স্পষ্টভাবে ডিফাইন করার জন্য ব্যবহৃত হয়, যা কোডকে আরও পাঠযোগ্য এবং বোধগম্য করে তোলে।
- এটি বৃহৎ অ্যাপ্লিকেশন বা ডেটা কাঠামোর ক্ষেত্রে উপযোগী, যেখানে ফিল্ডের নামের মাধ্যমে ডেটার অর্থ বা উদ্দেশ্য বোঝানো হয়।
Tuple Structs এবং Named Structs এর মধ্যে পার্থক্য
| বিষয় | Tuple Structs | Named Structs |
|---|---|---|
| ফিল্ডের নাম | ফিল্ডগুলির নাম থাকে না; শুধুমাত্র অবস্থান (index) অনুযায়ী অ্যাক্সেস করা হয়। | প্রতিটি ফিল্ডের একটি নাম থাকে। |
| ব্যবহার | ছোট এবং সহজ ডেটা কাঠামোর জন্য ব্যবহৃত হয়। | বৃহৎ এবং জটিল ডেটা কাঠামোর জন্য ব্যবহৃত হয়। |
| ফিল্ড অ্যাক্সেস | ফিল্ডগুলি তাদের ইনডেক্স দ্বারা অ্যাক্সেস করা হয় (যেমন instance.0)। | ফিল্ডগুলি তাদের নাম দ্বারা অ্যাক্সেস করা হয় (যেমন instance.x)। |
| উদাহরণ | struct MyStruct(i32, f64, char); | struct MyStruct { x: i32, y: f64, z: char }; |
সারাংশ
রাস্টে Tuple Structs এবং Named Structs এর মধ্যে প্রধান পার্থক্য হল, যেখানে Tuple Structs শুধুমাত্র ডেটার অবস্থান অনুযায়ী কাজ করে, Named Structs ফিল্ডগুলির নাম স্পষ্টভাবে উল্লেখ করে। Tuple Structs সহজ এবং ছোট ডেটা কাঠামোর জন্য উপযুক্ত, এবং Named Structs বৃহৎ, জটিল বা বিশদ ডেটা কাঠামোর জন্য উপযুক্ত যেখানে ফিল্ডের নাম গুরুত্বপূর্ণ।
Read more