Elm এ ভেরিয়েবল এবং কনস্ট্যান্টের ধারণা
Elm একটি ফাংশনাল প্রোগ্রামিং ভাষা, যেখানে ডেটা অপরিবর্তনীয় (immutable) থাকে। এর মানে হলো, একবার কোনো মান কোনো ভেরিয়েবলে বা কনস্ট্যান্টে অ্যাসাইন করার পর, তা পরিবর্তন করা যায় না। Elm এ ভেরিয়েবল এবং কনস্ট্যান্টের ধারণা মূলত একসাথে কাজ করে, কারণ এখানে কোনো পরিবর্তনশীল স্টেট নেই।
এখানে ভেরিয়েবল এবং কনস্ট্যান্ট সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. ভেরিয়েবল (Variables)
Elm এ ভেরিয়েবল আসলে একটি অপরিবর্তনীয় মান ধারণ করে। আপনি যখন একটি ভেরিয়েবলে একটি মান অ্যাসাইন করেন, তখন সেটি পরিবর্তন করা যায় না, অর্থাৎ একবার যেহেতু ভেরিয়েবল তৈরি করা হয়, তার মান আর বদলানো সম্ভব নয়।
ভেরিয়েবল ডিফাইন করার জন্য সাধারণত:
x = 10এখানে x একটি ভেরিয়েবল এবং এর মান 10। একবার এর মান অ্যাসাইন হওয়ার পর, এই x আর পরিবর্তিত হবে না। যদি নতুন কোনো মান দিয়ে এটিকে রি-অ্যাসাইন করতে চাওয়া হয়, তবে Elm কোডটি কম্পাইল করার সময় ত্রুটি দেখাবে, কারণ এটি immutable।
ভেরিয়েবল ডিফাইন করার উদাহরণ:
age = 25
name = "John"এখানে age একটি পূর্ণসংখ্যা (integer) এবং name একটি স্ট্রিং (string)। একবার age বা name অ্যাসাইন করার পর, তাদের মান পরিবর্তন করা যাবে না।
২. কনস্ট্যান্ট (Constants)
Elm এ, সাধারণভাবে কনস্ট্যান্ট বলতে, আপনি যে মানটি একবার নির্ধারণ করে দিয়েছেন, তা পরবর্তীতে কখনই পরিবর্তিত হবে না। এই কনস্ট্যান্টের মাধ্যমে আপনি যেসব মান একবার স্থির করতে চান, সেগুলিকে ঠিকভাবে সংজ্ঞায়িত করতে পারেন। তবে, মূলত Elm এর ভেরিয়েবল এবং কনস্ট্যান্টের মধ্যে কোনো পার্থক্য নেই, কারণ দুটোই immutable।
উদাহরণস্বরূপ, আপনি একটি কনস্ট্যান্ট হিসাবে একটি গাণিতিক কনস্ট্যান্ট বা একটি নির্দিষ্ট মান ব্যবহার করতে পারেন:
pi = 3.14159এখানে pi একটি কনস্ট্যান্ট যা কোনো অবস্থাতেই পরিবর্তিত হবে না।
কনস্ট্যান্ট ডিফাইন করার উদাহরণ:
gravity = 9.8
speedOfLight = 299792458এখানে gravity এবং speedOfLight দুটোই কনস্ট্যান্ট মান যা নির্ধারিত থাকবে এবং পরে কখনই পরিবর্তিত হবে না।
৩. ভেরিয়েবল এবং কনস্ট্যান্টের মধ্যে পার্থক্য
যেহেতু Elm একটি ফাংশনাল প্রোগ্রামিং ভাষা, এখানে সাধারণভাবে ভেরিয়েবল এবং কনস্ট্যান্টের মধ্যে কোনো পার্থক্য নেই, কারণ দুটি-ই immutable।
ফাংশনাল প্রোগ্রামিং ভাষায়, যখন কোনো মান একটি ভেরিয়েবল বা কনস্ট্যান্টে নির্ধারণ করা হয়, তখন সেটি পরিবর্তন করা যাবে না। এটি ডেটার অপরিবর্তনীয়তা (immutability) এবং সাইড-ইফেক্ট মুক্ত (side-effect free) কোড লেখার জন্য সাহায্য করে।
৪. Elm এর ক্ষেত্রে immutability (অপরিবর্তনীয়তা)
Elm এ ভেরিয়েবল এবং কনস্ট্যান্ট যাই হোক, অপরিবর্তনীয়। এর মানে হলো একবার কোনো মান সেট করার পর তা পরিবর্তিত হতে পারে না। যেমন:
x = 5
x = x + 1 -- এই কোডটি ত্রুটি দিবে, কারণ x পরিবর্তিত হতে পারে নাএই কোডটি কম্পাইল হবে না, কারণ Elm এ একবার x এর মান নির্ধারণ হয়ে গেলে তা আর পরিবর্তন করা সম্ভব নয়।
উপসংহার
Elm এ ভেরিয়েবল এবং কনস্ট্যান্ট এর ধারণা বেশ সাদৃশ্যপূর্ণ। দুটি-ই immutable (অপরিবর্তনীয়) হয়, এবং একবার কোনো মান নির্ধারণ করা হলে, তা আর পরিবর্তিত হবে না। এর মাধ্যমে ফাংশনাল প্রোগ্রামিংয়ের মূল নীতিগুলি (যেমন immutability) কার্যকরভাবে বাস্তবায়িত হয়, যা ত্রুটি মুক্ত এবং নির্ভরযোগ্য কোড লেখার সুযোগ দেয়।
Read more