Menu

Abdul Ahad

servant of the only One!
Sun, 02 August 2015

Uniary Operators

Unary Operators বললে হয়ত কারো কারো বুঝতে অসুবিধা হওয়ার কথা। কিন্তু যদি বলি Increment অথবা Decrement operator, তাহলে কারো বুঝতে অসুবিধা হওয়ার কথা না। যদি বুঝতে অসুবিধা হয় তাহলে আপনি তো এখনও “দুধ পিতা হুয়া Programmer” মানে আপনি অনেক বেশি ছোট প্রোগ্রামার। আপনার আরো বেশি প্রোগ্রামিং নিয়ে পড়তে হবে, বাবু!

কাজেই আমরা এই পোষ্টে প্রোগ্রামিং এর এইসব জিনিষ নিয়ে জানার চেষ্টা করব। চলুন শুরু করা যাক।

মোটামুটি সকল প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে কমবেশি অঙ্ক মানে গণনা করা যায়, অবস্থা বুঝে প্রোগ্রামকে কাজ করানো যায় ইত্যাদি। সুতরাং প্রোগ্রাম এ এই ধরনের কাজ করার জন্য কিছু Operators(চিহ্ন) যেমন >, <, *, ++ ইত্যাদি ঠিক করা হয়, যা দিয়ে আমরা প্রোগ্রাম এ গণনা ও বিভিন্ন যুক্তিমূলক সিদ্ধান্ত নিয়ে কাজ করতে পারি। যেগুলোকে বিভিন্ন ভাগে ভাগ করা যায়। যেমনঃ

  • Arithmetic Operators
  • Assignment Operators
  • Logical Operators
  • Comparison/Relational Operators

এর মধ্যে Arithmetic Operators সমূহ ব্যবহার করে আমরা প্রোগ্রামে নানা ধরনের অঙ্ক যেমন যোগ, বিয়োগ, গুণ ইত্যাদি করতে পারি। কিন্তু কথা হল Unary Operator তাহলে কি জিনিষ। জি এটাই এখন বলছি।

অনেক Unary Operators এর মধ্যে ++ এবং – – ও একধরনের Unary Operators. ++ কে Increment এবং – – কে আমরা Decrement Operator বলে থাকি। যেহেতু এরা Arithmetic Operators কাজেই এদেরকে আমরা অঙ্ক করার ক্ষেত্রে ব্যবহার করতে পারব। নিচের JavaScript উদাহরণটি লক্ষ্য করুন।

<script type="text/javascript">
	var i = 5;
	i ++;
	alert(i);
</script>

Result:

unaryOperators22.png

কাজে বুঝা গেল Increment অথবা Decrement Operator কোন সংখ্যার সাথে এক যোগ অথবা বিয়োগ করে থাকে। কিন্তু এদেরকে দুইভাবে লিখা যায় এবং এদের result বা behavior দুই ই ভিন্ন।

  • Post fix – Operands precede the Operators
  • Pre fix – Operators precede the Operands

এখন আমরা আরো দুইটা JavaScript উদাহরণ দেখব এবং এদের সংজ্ঞা দাঁড় করাবো।

Post Fix : Operands precede the Operators

When the operand(i) precedes the operator(++), the operand will first initialized to its intended purpose and then altered(increment or decrement) its value.

যখন operand(variable), operator(++) এর আগে বসে যেমন i++ তখন operand i, তার আগের মান নিয়ে কাজ করে এবং যখন সেই লাইন execution হয়ে যায় অর্থাৎ alert() function এর কাজ সমাপ্ত হয়ে যায়, ঠিক তার পর ওই operand বা variable i এর মান পরিবর্তন হয়।

<script type="text/javascript">
	var i = 5;
	alert(i++);
</script>

Result:

unaryOperators4.png

যেহেতু এই উদাহরণে আমরা Post fix ব্যবহার করেছি কাজেই প্রথমে i এর আগের মান 5 স্ক্রীনে প্রিন্ট হচ্ছে, তারপর i এর মান পরিবর্তন হবে । অর্থাৎ alert function execute হওয়ার পর i এর মান পরিবর্তন হয়ে হবে 6 ।

Pre Fix : Operators precede the Operands

When the operator(++) precedes the operand(i), the operand will first alter(increment or decrement) its value then initialized to its intended purpose.

যখন operator(++), operand(variable) এর আগে বসে যেমন ++i তখন operand এর মান আগে পরিবর্তন হবে তারপর সেই Variable ব্যবহার হবে। অর্থাৎ i variable এর মান পরিবর্তন হওয়ার পর alert() function কাজ করবে। ফলে আমরা এখন Pre fix এর বেলায় i এর মান 6 দেখতে পাই।

<script type="text/javascript">
	var i = 5;
	alert(++i);
</script>

Result:

unaryOperators22.png

অনেক গভীর একটা বিষয় অল্প কথায় বলার চেষ্টা করেছি। যদি কোথায় বুঝতে সমস্যা হয়ে থাকে তাহলে Comment করতে পারেন। আর হে এই পোষ্টা আপনার বন্ধুদের সাথে শেয়ার করতে ভুলবেন না।

সবাই ভালো থাকবেন।

Acknowledgement: This post was written with the help of “Programming in C” book written by Prof. Dr. Sazzad Hossain, Mohammad Qudrat-E-Maula and M.M. Jahangir

Share