স্কালাতে টাপলস ব্যবহার করে একাধিক মান সংরক্ষণ করা হয় এবং এর উপাদানগুলি সহজেই এক্সেস করা যায়। টাপলের উপাদানগুলোকে এক্সেস করার জন্য কিছু নির্দিষ্ট টেকনিক ব্যবহার করা হয়। টাপল থেকে ডেটা এক্সট্রাকশন একটি সাধারণ কাজ, যা অনেক ফাংশনাল এবং কার্যকরী প্রক্রিয়ায় ব্যবহৃত হয়।
১. টাপল এক্সেস (Tuple Access):
স্কালাতে টাপলের উপাদানগুলো অ্যাক্সেস করতে ইন্ডেক্সিং বা ডট নোটেশন ব্যবহার করা হয়। টাপল সাধারণত আকারে immutable (অপরিবর্তনযোগ্য) এবং ordered (অর্ডার্ড) ডেটা স্ট্রাকচার হয়, যা একে একে উপাদান অ্যাক্সেস করতে সহায়তা করে।
ডট নোটেশন (Dot Notation) ব্যবহার করে এক্সেস:
টাপলের প্রতিটি উপাদানকে অ্যাক্সেস করতে স্কালাতে ._1, ._2, ._3 ইত্যাদি ব্যবহার করা হয়।
_1টাপলের প্রথম উপাদান,_2টাপলের দ্বিতীয় উপাদান,_3টাপলের তৃতীয় উপাদান ইত্যাদি।
উদাহরণ:
val person = ("John", 30, "New York")
println(person._1) // John
println(person._2) // 30
println(person._3) // New Yorkএখানে, person টাপলটির তিনটি উপাদান অ্যাক্সেস করা হয়েছে: নাম, বয়স এবং শহর।
২. প্যাটার্ন ম্যাচিং (Pattern Matching):
স্কালাতে টাপল থেকে ডেটা বের করার জন্য প্যাটার্ন ম্যাচিং একটি শক্তিশালী এবং সাধারণ পদ্ধতি। প্যাটার্ন ম্যাচিং আপনাকে সহজেই টাপলের উপাদানগুলো একত্রে বের করার সুযোগ দেয়।
উদাহরণ:
val person = ("John", 30, "New York")
person match {
case (name, age, city) =>
println(s"Name: $name, Age: $age, City: $city")
}এখানে, প্যাটার্ন ম্যাচিং ব্যবহার করে টাপলের তিনটি উপাদান name, age, এবং city তে বের করা হয়েছে। এটি একটি সহজ এবং পরিষ্কার পদ্ধতি, যা কোডের পাঠযোগ্যতা বাড়ায়।
৩. ডেসট্রাকচারিং (Destructuring):
স্কালাতে আপনি ডেসট্রাকচারিং পদ্ধতিও ব্যবহার করতে পারেন, যা প্যাটার্ন ম্যাচিংয়ের সাথে মিলিত। এটি টাপলের উপাদানগুলোকে পৃথক ভেরিয়েবলগুলিতে বের করার একটি পদ্ধতি।
উদাহরণ:
val person = ("Alice", 25, "London")
val (name, age, city) = person
println(s"Name: $name, Age: $age, City: $city")এখানে, person টাপলটির উপাদানগুলো name, age, এবং city নামে তিনটি আলাদা ভেরিয়েবলতে সংরক্ষিত হয়েছে। এটি একটি খুবই পরিষ্কার এবং ব্যবহারবান্ধব পদ্ধতি।
৪. লুপে টাপল ব্যবহার (Using Tuples in Loops):
টাপলগুলিকে লুপের মধ্যে ব্যবহার করা যেতে পারে। আপনি টাপলগুলির ভেতরে থাকা উপাদানগুলিকে একে একে লুপের মাধ্যমে এক্সেস করতে পারেন। এটি সাধারণত যখন আপনি একাধিক টাপলের উপাদানগুলো একত্রে প্রক্রিয়া করতে চান তখন ব্যবহৃত হয়।
উদাহরণ:
val list = List(("John", 30), ("Alice", 25), ("Bob", 22))
for ((name, age) <- list) {
println(s"Name: $name, Age: $age")
}এখানে, list একটি তালিকা যা টাপল ধারণ করছে। লুপের মাধ্যমে আমরা প্রতিটি টাপলের উপাদান বের করে প্রিন্ট করেছি।
৫. টাপল থেকে মান বের করা এবং ফেরত দেওয়া (Extracting and Returning Values from Tuples):
কখনও কখনও টাপল থেকে মান বের করে তা পুনরায় রিটার্ন করতে হতে পারে, বিশেষ করে ফাংশনে একাধিক মান ফেরত দেওয়ার সময়। এক্ষেত্রে, টাপল থেকে ডেটা বের করার জন্য উপরের টেকনিকগুলি ব্যবহৃত হয়।
উদাহরণ:
def getPersonInfo(): (String, Int, String) = {
("David", 40, "Paris")
}
val (name, age, city) = getPersonInfo()
println(s"Name: $name, Age: $age, City: $city")এখানে, getPersonInfo ফাংশনটি একটি টাপল রিটার্ন করছে এবং তার উপাদানগুলি বের করার জন্য ডেসট্রাকচারিং পদ্ধতি ব্যবহৃত হয়েছে।
সারাংশ:
টাপল থেকে ডেটা এক্সট্রাকশন বা এক্সেস করার জন্য বিভিন্ন পদ্ধতি রয়েছে, যেমন ডট নোটেশন, প্যাটার্ন ম্যাচিং, ডেসট্রাকচারিং, এবং লুপ ব্যবহার। এই পদ্ধতিগুলির মাধ্যমে স্কালা প্রোগ্রামাররা সহজেই এবং কার্যকরীভাবে টাপলের উপাদানগুলো অ্যাক্সেস করতে পারেন। টাপল একটি শক্তিশালী ডেটা স্ট্রাকচার, যা একাধিক ভিন্ন ধরনের মান একত্রে সংরক্ষণ এবং প্রক্রিয়া করার সুবিধা দেয়।
Read more