Tuples হল জুলিয়া ভাষায় একটি ডেটা স্ট্রাকচার, যা বিভিন্ন ধরনের উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। তবে, তাদের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো Immutable হওয়া, অর্থাৎ একবার তৈরি করার পরে তাদের উপাদান পরিবর্তন করা যায় না। এই বৈশিষ্ট্যটি তাদের immutable collections হিসেবে পরিচিত করে তোলে।
১. Tuples এর ধারণা (Concept of Tuples)
Tuple হল একটি একাধিক মান (values) ধারণ করতে সক্ষম একটি ডেটা টাইপ। এটি একটি ফিক্সড সাইজের সংগ্রহ যা বিভিন্ন ধরনের ডেটা উপাদান ধারণ করতে পারে। একবার একটি tuple তৈরি করার পর, এটি পরিবর্তন করা যায় না, অর্থাৎ tuple-এর উপাদানগুলি অপরিবর্তনীয়।
সিনট্যাক্স:
tuple_name = (element1, element2, ..., elementN)উদাহরণ:
# একটি Tuple ডিক্লেয়ার করা
person = ("Alice", 25, 5.6) # Tuple with a String, Integer, and Floatএখানে, person একটি tuple যা "Alice" (String), 25 (Integer), এবং 5.6 (Float) উপাদান ধারণ করছে।
২. Tuples এর বৈশিষ্ট্য (Features of Tuples)
Immutable:
- Tuple-এর উপাদান একবার নির্ধারণের পর আর পরিবর্তন করা যায় না। এটি immutable (অপরিবর্তনীয়) ডেটা স্ট্রাকচার হিসেবে পরিচিত।
উদাহরণ:
t = (1, 2, 3) t[1] = 10 # এটি ত্রুটি (Error) তৈরি করবে কারণ Tuples immutableভিন্ন ধরনের উপাদান ধারণ করতে সক্ষম:
- Tuple একটি একক সংগ্রহে বিভিন্ন ধরনের ডেটা রাখার অনুমতি দেয়, যেমন একটি Tuple-এ String, Integer, এবং Float একসঙ্গে থাকতে পারে।
উদাহরণ:
data = ("apple", 5, 3.14) # Tuple with String, Integer, and Float- ফিক্সড সাইজ:
- Tuples-এর আকার নির্ধারিত এবং এটি পরিবর্তন করা যায় না। একবার তৈরি হলে তার উপাদান সংখ্যা (size) স্থির থাকে।
ডাটা অ্যাক্সেস করা:
- Tuples-এ উপাদানগুলি অ্যাক্সেস করতে ইনডেক্স ব্যবহার করা হয়। ইনডেক্স শুরু হয় ১ থেকে।
উদাহরণ:
t = ("apple", "banana", "cherry") println(t[1]) # আউটপুট: apple println(t[2]) # আউটপুট: bananaTuple ডেস্ট্রাকচারিং:
- Tuples থেকে বিভিন্ন উপাদান পৃথকভাবে বের করতে tuple destructuring ব্যবহার করা যায়।
উদাহরণ:
person = ("Alice", 25, 5.6) name, age, height = person # Tuple destructuring println(name) # আউটপুট: Alice println(age) # আউটপুট: 25 println(height) # আউটপুট: 5.6
৩. Immutable Collections
Immutable Collections হল সেসব ডেটা স্ট্রাকচার যা একবার তৈরি হওয়ার পর পরিবর্তন করা যায় না। Tuples এর মতো, অনেক অন্যান্য ডেটা স্ট্রাকচারও immutable হতে পারে, যেমন Strings এবং Ranges। Immutable collections-এর সাহায্যে কোডের নিরাপত্তা বৃদ্ধি পায়, কারণ ডেটা পরিবর্তনশীল অবস্থায় থাকার কারণে কোনও অপ্রত্যাশিত পরিবর্তন ঘটতে পারে না।
উদাহরণ (Immutable Collection - Tuples):
# Immutable Tuple
immutable_tuple = (10, 20, 30)
# একবার তৈরি হওয়ার পরে এই Tuple পরিবর্তন করা যাবে না- Strings: Strings গুলি অমীমাংসিত এবং একবার তৈরি হলে তার মান পরিবর্তন করা যায় না।
- Ranges: একটি range (যেমন
1:10) একবার তৈরি হলে সেটির মান পরিবর্তন করা যায় না।
উদাহরণ (Immutable Collection - Range):
r = 1:5 # Range from 1 to 5
# এই রেঞ্জে মান পরিবর্তন করা যাবে না৪. Tuples এর সুবিধা এবং ব্যবহার
- মেমরি দক্ষতা:
- Tuples একবার তৈরি হওয়ার পর অপরিবর্তনীয় হওয়ায়, সেগুলির জন্য মেমরি বরাদ্দ বেশি কার্যকরী হয়। Tuples ব্যবহারে প্রোগ্রামের পারফরম্যান্স বৃদ্ধি পেতে পারে।
- শর্তযুক্ত ডেটা গ্রুপিং:
- Tuples একসঙ্গে বিভিন্ন ধরনের ডেটা গ্রুপ করার জন্য ব্যবহার করা হয়। যেমন, একে ব্যবহার করে একটি ব্যক্তির নাম, বয়স, উচ্চতা ইত্যাদি তথ্য একত্রিত করা যেতে পারে।
- পুনঃব্যবহারযোগ্যতা:
- একটি Tuple একই ডেটার পুনঃব্যবহারযোগ্য সংগ্রহ হিসেবে কাজ করতে পারে। ফাংশনগুলিতে মান পাস করার সময় এটি খুবই কার্যকরী।
- এলার্জি (Error) Handling:
- Immutable nature-এর কারণে, Tuples ডেটার অপ্রত্যাশিত পরিবর্তন থেকে বাঁচায়, এবং ডেটার নিরাপত্তা নিশ্চিত করে।
সারসংক্ষেপ
- Tuples হল অপরিবর্তনীয় (immutable) ডেটা সংগ্রহ যা বিভিন্ন ধরনের মান ধারণ করতে পারে।
- Tuples এর উপাদানগুলো একবার তৈরি হলে পরিবর্তন করা যায় না, এটি নিরাপত্তা এবং কোডের স্থিতিশীলতা নিশ্চিত করে।
- Immutable Collections হল এমন ডেটা স্ট্রাকচার যা একবার তৈরি হওয়ার পর তার মান পরিবর্তন করা যায় না, যেমন Tuples, Strings, এবং Ranges।
- Tuples এর ব্যবহার সহজ, কিন্তু শক্তিশালী, এবং এটি বিভিন্ন ধরনের ডেটা গ্রুপ করতে এবং সেগুলি অপরিবর্তনীয় রেখে ব্যবহার করতে সহায়ক।
Read more