বিষয়বস্তুতে চলুন

প্রোগ্রামিংয়ের মৌলিক ধারণা/এল-ভ্যালু এবং আর-ভ্যালু

উইকিবই থেকে

সংক্ষিপ্ত বিবরণ

[সম্পাদনা]

কিছু প্রোগ্রামিং ভাষায় এল-ভ্যালু এবং আর-ভ্যালু ধারণা ব্যবহৃত হয়, যা মূলত কোনো অ্যাসাইনমেন্ট স্টেটমেন্টের বাম ও ডান পাশে মূল্যায়নের প্রচলিত পদ্ধতি থেকে উদ্ভূত। এল-ভ্যালু এমন একটি অবজেক্টকে নির্দেশ করে যা একটি একক অভিব্যক্তির পরেও স্থায়ীভাবে বজায় থাকে। অন্যদিকে, আর-ভ্যালু হলো একটি অস্থায়ী মান, যা শুধুমাত্র যে অভিব্যক্তিতে তা ব্যবহৃত হচ্ছে, সেই সীমার মধ্যেই বিদ্যমান থাকে এবং তার পরে আর টিকে থাকে না।[]

আলোচনা

[সম্পাদনা]

এল-ভ্যালু এবং আর-ভ্যালু শব্দ দুটি অ্যাসাইনমেন্ট অপারেটরের বাম ও ডান পাশে থাকা উপাদানকে নির্দেশ করে। 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-এর মান ৫৫ থেকে বাড়িয়ে ৫৬ করা হয়। অর্থাৎ, প্রথমে মান ব্যবহৃত হয়, তারপর ইনক্রিমেন্ট কার্যকর হয়।

গুরুত্বপূর্ণ পরিভাষা

[সম্পাদনা]
এল-ভ্যালু
অ্যাসাইনমেন্ট অপারেটরের বাম পাশে থাকা অপারেন্ডটির পরিবর্তনযোগ্য হওয়ার প্রয়োজনীয়তা, যা সাধারণত একটি চলক হয়।
আর-ভ্যালু
একটি চলক বা ধ্রুবকে সংরক্ষিত মান আহরণ বা উদ্ধার করে।

তথ্যসূত্র

[সম্পাদনা]