প্রোগ্রামিং ভাষায় Local এবং Global Variables দুইটি গুরুত্বপূর্ণ ধারণা, যেগুলি ভেরিয়েবল ব্যবস্থাপনা এবং কোডের কার্যকারিতা বুঝতে সহায়তা করে। ম্যাটল্যাব (MATLAB) সহ অন্যান্য প্রোগ্রামিং ভাষায় এই দুটি ধরনের ভেরিয়েবল ব্যবহৃত হয়।
১. Local Variables (স্থানীয় ভেরিয়েবল)
একটি Local Variable হল এমন একটি ভেরিয়েবল যা একটি নির্দিষ্ট ফাংশনের মধ্যে ডিফাইন করা হয় এবং শুধুমাত্র সেই ফাংশনের মধ্যে ব্যবহার করা যায়। এটি সেই ফাংশনের বাহিরে অ্যাক্সেসযোগ্য থাকে না। ফাংশনের ভিতরে তৈরি হওয়া Local Variables অন্য ফাংশন বা স্ক্রিপ্ট থেকে দেখা বা পরিবর্তন করা যায় না।
- বিশেষত্ব:
- স্থানীয় ভেরিয়েবল শুধুমাত্র ফাংশনের মধ্যে কাজ করে।
- ফাংশন বা স্ক্রিপ্টের বাহিরে এই ভেরিয়েবলটি অ্যাক্সেস করা সম্ভব নয়।
- এটি একটি নির্দিষ্ট ফাংশন বা স্ক্রিপ্টের জন্য স্থানীয় থাকে এবং কার্যকরী সময়ের শেষে ধ্বংস হয়ে যায়।
উদাহরণ:
function result = addNumbers(a, b)
localVar = a + b; % localVar হল একটি local variable
result = localVar;
end
% এখানে localVar শুধুমাত্র addNumbers ফাংশনের মধ্যে এক্সেস করা যাবে।এখানে localVar কেবলমাত্র addNumbers ফাংশনের মধ্যে প্রযোজ্য। অন্য কোথাও এটি ব্যবহার করা যাবে না।
২. Global Variables (বিশ্বব্যাপী ভেরিয়েবল)
Global Variable হল একটি ভেরিয়েবল যা প্রোগ্রামের সব জায়গায় অ্যাক্সেসযোগ্য থাকে, যেমন স্ক্রিপ্ট, ফাংশন, ক্লাস ইত্যাদির মধ্যে। যখন একটি ভেরিয়েবলকে global হিসেবে ঘোষণা করা হয়, তখন এটি পুরো প্রোগ্রামের মধ্যে যে কোনও জায়গা থেকে পরিবর্তন ও অ্যাক্সেস করা যেতে পারে। তবে, এর ব্যবহারে কিছু সতর্কতা প্রয়োজন, কারণ এটি কোডের অন্যান্য অংশের সাথে মিলেমিশে থাকতে পারে, যা ত্রুটির কারণ হতে পারে।
- বিশেষত্ব:
- একটি global variable প্রোগ্রামের সব অংশে অ্যাক্সেসযোগ্য।
- এটি একাধিক ফাংশন বা স্ক্রিপ্টের মধ্যে শেয়ার করা যায়।
- ফাংশনে
globalকিওয়ার্ড দিয়ে এটি ঘোষণা করতে হয়।
উদাহরণ:
global globalVar; % global variable ঘোষণা করা
function setGlobalValue()
global globalVar;
globalVar = 10; % global variable এর মান পরিবর্তন
end
function displayGlobalValue()
global globalVar;
disp(globalVar); % global variable এর মান প্রদর্শন
end
setGlobalValue();
displayGlobalValue(); % এটি 10 প্রদর্শন করবেএখানে globalVar একটি global variable, যা setGlobalValue এবং displayGlobalValue ফাংশনের মধ্যে শেয়ার করা হচ্ছে। যেহেতু এটি global, তাই এক ফাংশনে পরিবর্তন করলে অন্য ফাংশনেও তার মান প্রভাবিত হবে।
Local এবং Global Variables এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Local Variable | Global Variable |
|---|---|---|
| প্রবেশাধিকারের ক্ষেত্র | কেবল ফাংশন বা স্ক্রিপ্টের মধ্যে অ্যাক্সেসযোগ্য। | প্রোগ্রামের যে কোনও জায়গা থেকে অ্যাক্সেসযোগ্য। |
| ডিফাইন করার স্থান | ফাংশনের ভিতরে ডিফাইন করা হয়। | global কিওয়ার্ড ব্যবহার করে ডিফাইন করা হয়। |
| ব্যবহারের সময়কাল | শুধুমাত্র ফাংশন বা স্ক্রিপ্টের কার্যকরী সময়কাল পর্যন্ত। | পুরো প্রোগ্রামের কার্যকরী সময়কাল পর্যন্ত। |
| এ্যাক্সেসযোগ্যতা | শুধুমাত্র সেই ফাংশনের ভিতরে। | ফাংশন, স্ক্রিপ্ট, এবং অন্যান্য যেকোনো জায়গা থেকে। |
| আপডেট করা | ফাংশনের মধ্যে আপডেট করা হয় এবং শুধুমাত্র সেই ফাংশনেই প্রযোজ্য। | একাধিক ফাংশন থেকে পরিবর্তন করা যায়। |
Local এবং Global Variables এর সুবিধা এবং অসুবিধা
Local Variables এর সুবিধা:
- ক্লিয়ার কোড: ফাংশনের মধ্যে স্থানীয় ভেরিয়েবল ব্যবহার করলে কোড আরও পরিষ্কার এবং সহজে বোঝা যায়।
- নিরাপত্তা: এক ফাংশনের ভিতরে পরিবর্তনশীল কাজ করলে, অন্য ফাংশনের উপর তার প্রভাব পড়বে না, যা কোডকে নিরাপদ রাখে।
- মেমরি ব্যবস্থাপনা: স্থানীয় ভেরিয়েবলগুলো শুধুমাত্র ফাংশনের মধ্যে ব্যবহৃত হয়, এবং ফাংশনটি শেষ হলে তারা স্বয়ংক্রিয়ভাবে মুছে যায়, যা মেমরি ব্যবস্থাপনা উন্নত করে।
Local Variables এর অসুবিধা:
- ফাংশনের বাইরে অ্যাক্সেস করা যায় না: ফাংশনটির বাহিরে স্থানীয় ভেরিয়েবল অ্যাক্সেস বা পরিবর্তন করা সম্ভব নয়।
Global Variables এর সুবিধা:
- শেয়ার করা সহজ: একাধিক ফাংশন বা স্ক্রিপ্টে একটি ভেরিয়েবল শেয়ার করা সহজ।
- ডাটা শেয়ারিং: একাধিক স্থানে একই ডাটা ব্যবহার করা যায়।
Global Variables এর অসুবিধা:
- কনফ্লিক্ট: অনেক ফাংশন একই global variable পরিবর্তন করলে কোডে ত্রুটি সৃষ্টি হতে পারে।
- বাগ সৃষ্টির ঝুঁকি: ভুলভাবে একটি ফাংশনে global variable পরিবর্তন করলে, অন্যান্য ফাংশনের কার্যকারিতার উপর প্রভাব পড়তে পারে।
সারাংশ
- Local Variables সাধারণত নিরাপদ এবং বিশেষ কাজে ব্যবহার করা হয়, কারণ তারা শুধুমাত্র তাদের ডিফাইনেশন ফাংশনের মধ্যে সীমাবদ্ধ থাকে।
- Global Variables ব্যবহার করলে কোডের মধ্যে ডাটা শেয়ার করা সহজ হয়, তবে এগুলির ব্যবহার করলে কোডের সঠিকতা এবং মেমরি ব্যবস্থাপনা নিয়ে সতর্ক থাকতে হয়।
Read more