প্রোগ্রামিংয়ের মৌলিক ধারণা/এল-ভ্যালু এবং আর-ভ্যালু
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]কিছু প্রোগ্রামিং ভাষায় এল-ভ্যালু এবং আর-ভ্যালু ধারণা ব্যবহৃত হয়, যা মূলত কোনো অ্যাসাইনমেন্ট স্টেটমেন্টের বাম ও ডান পাশে মূল্যায়নের প্রচলিত পদ্ধতি থেকে উদ্ভূত। এল-ভ্যালু এমন একটি অবজেক্টকে নির্দেশ করে যা একটি একক অভিব্যক্তির পরেও স্থায়ীভাবে বজায় থাকে। অন্যদিকে, আর-ভ্যালু হলো একটি অস্থায়ী মান, যা শুধুমাত্র যে অভিব্যক্তিতে তা ব্যবহৃত হচ্ছে, সেই সীমার মধ্যেই বিদ্যমান থাকে এবং তার পরে আর টিকে থাকে না।[১]
আলোচনা
[সম্পাদনা]এল-ভ্যালু এবং আর-ভ্যালু শব্দ দুটি অ্যাসাইনমেন্ট অপারেটরের বাম ও ডান পাশে থাকা উপাদানকে নির্দেশ করে। L-value (উচ্চারণ: এল-ভ্যালু) এমন একটি ধারণা যা বোঝায় যে, অ্যাসাইনমেন্ট অপারেটরের বাম পাশে থাকা অপারেন্ডটি পরিবর্তনযোগ্য হতে হবে — সাধারণত এটি একটি চলক (variable) হয়ে থাকে। অন্যদিকে, আর-ভ্যালু ধারণাটি বোঝায় যে অ্যাসাইনমেন্ট অপারেটরের ডান পাশে থাকা অপারেন্ড বা অভিব্যক্তির মান আহরণ বা উদ্ধার করা হয়। কিছু উদাহরণঃ
age = 39
৩৯ মানটি আহরণ বা উদ্ধার করা হয় (এটি একটি আর-ভ্যালু), এবং তা age নামক চলকে সংরক্ষণ করা হয় (যা একটি এল-ভ্যালু) — এতে করে ঐ চলকে পূর্বে সংরক্ষিত মানটি নষ্ট হয়ে যায়।
voting_age = 18 age = voting_age
যদি অ্যাসাইনমেন্ট অপারেটরের ডান পাশে কোনো চলক বা নামযুক্ত ধ্রুবক থাকে, তবে সেটি ঐ চলক বা ধ্রুবকে সংরক্ষিত মান আহরণ বা উদ্ধার করে। এখানে, voting_age নামক চলক থেকে মান ১৮ আহরণ করা হয় এবং তা age নামক চলকে সংরক্ষণ করা হয়।
age < 17
যদি কোনো অভিব্যক্তি পরীক্ষামূলক অভিব্যক্তি বা বুলিয়ান অভিব্যক্তি হয় তাহলেও তা আর-ভ্যালু হিসেবে বিবেচিত হয়। এক্ষেত্রে, age নামক শনাক্তকারীতে সংরক্ষিত মানটি আহরণ বা উদ্ধার করা হয় এবং তা less than (ছোট হওয়ার) সম্পর্কযুক্ত তুলনায় ব্যবহার করা হয়।
JACK_BENNYS_AGE = 39 JACK_BENNYS_AGE = 65;
এটি অবৈধ, কারণ JACK_BENNYS_AGE নামক শনাক্তকারীর এল-ভ্যালু বৈশিষ্ট্য নেই। এটি একটি ধ্রুবক, তাই এটি একটি পরিবর্তনযোগ্য ডেটা অবজেক্ট নয়।
কিছু প্রোগ্রামিং ভাষায় ইনক্রিমেন্ট (++) এবং ডিক্রিমেন্ট (--) অপারেটর সমর্থন করার কারণে এল-ভ্যালু এবং আর-ভ্যালু-এর কিছু ব্যবহার বিভ্রান্তিকর হতে পারে। উদাহরণস্বরূপ ধরা যাক:
oldest = 55 age = oldest++
পোস্টফিক্স ইনক্রিমেন্ট অর্থ হলো — “প্রথমে আমার বর্তমান মান ব্যবহার করো, তারপর বাকি অপারেশনগুলো শেষ হলে আমাকে ইনক্রিমেন্ট করো।” এই ক্ষেত্রে, oldest চলকের প্রথম ব্যবহারটি একটি আর-ভ্যালু প্রসঙ্গ, যেখানে তার বিদ্যমান ৫৫ মানটি আহরণ বা উদ্ধার করা হয় এবং age নামক চলকে অ্যাসাইন করা হয় — যা একটি এল-ভ্যালু প্রসঙ্গ। oldest-এর দ্বিতীয় ব্যবহারটি একটি এল-ভ্যালু প্রসঙ্গ, যেখানে oldest-এর মান ৫৫ থেকে বাড়িয়ে ৫৬ করা হয়। অর্থাৎ, প্রথমে মান ব্যবহৃত হয়, তারপর ইনক্রিমেন্ট কার্যকর হয়।
গুরুত্বপূর্ণ পরিভাষা
[সম্পাদনা]- এল-ভ্যালু
- অ্যাসাইনমেন্ট অপারেটরের বাম পাশে থাকা অপারেন্ডটির পরিবর্তনযোগ্য হওয়ার প্রয়োজনীয়তা, যা সাধারণত একটি চলক হয়।
- আর-ভ্যালু
- একটি চলক বা ধ্রুবকে সংরক্ষিত মান আহরণ বা উদ্ধার করে।