Rexx একটি ডাইনামিক্যালি টাইপ করা ভাষা, যার মানে হল যে, পরিবর্তনশীল (variables) এর টাইপ আগে থেকেই নির্ধারিত হতে হয় না। এটি প্রোগ্রামারের জন্য সহজ করে তোলে কারণ পরিবর্তনশীলের টাইপ নির্বাচন করার জন্য অতিরিক্ত চিন্তা করতে হয় না। তবে, Rexx এ পরিবর্তনশীল নামকরণের কিছু নির্দিষ্ট নিয়ম এবং তা কীভাবে ইনিশিয়ালাইজ করতে হয়, তা জানা প্রয়োজন।
1. Variable Naming (পরিবর্তনশীলের নামকরণ)
Rexx এ পরিবর্তনশীল নামকরণের জন্য কিছু বিশেষ নিয়ম রয়েছে:
- শুরুতে অক্ষর: Rexx এ পরিবর্তনশীলের নাম একটি অক্ষর দিয়ে শুরু হতে হবে (এটা সংখ্যার সাথে শুরু হতে পারে না)।
- অক্ষর, সংখ্যা এবং আন্ডারস্কোর: Rexx এ পরিবর্তনশীলের নামের মধ্যে অক্ষর, সংখ্যা এবং আন্ডারস্কোর (_) থাকতে পারে। তবে, নামটি শুধুমাত্র অক্ষর দিয়ে শুরু হবে।
- বড়-ছোট অক্ষরের পার্থক্য: Rexx এ বড় এবং ছোট অক্ষরের পার্থক্য রাখা হয় না, অর্থাৎ "variable", "Variable" এবং "VARIABLE" সব একইভাবে বিবেচিত হবে।
- অপারেটর এবং কিওয়ার্ড ব্যবহার: Rexx এ নির্দিষ্ট কিছু কিওয়ার্ড এবং অপারেটর (যেমন
if,then,end,doইত্যাদি) নাম হিসেবে ব্যবহার করা যাবে না।
নামকরণের কিছু উদাহরণ:
- সঠিক নাম:
counter,user_name,totalValue - ভুল নাম:
123counter(যেহেতু নামটি সংখ্যা দিয়ে শুরু হচ্ছে),if(এটি একটি কিওয়ার্ড)
2. Variable Initialization (পরিবর্তনশীলের প্রাথমিক মান নির্ধারণ)
Rexx এ পরিবর্তনশীলগুলি ডাইনামিক্যালি টাইপ করা হয়, তাই কোনো নির্দিষ্ট টাইপের মান নির্ধারণের জন্য আপনাকে কোন বিশেষ কীওয়ার্ড ব্যবহার করতে হবে না। পরিবর্তনশীলের মান সরাসরি অ্যাসাইন করা যায়।
ব্যাসিক ইনিশিয়ালাইজেশন:
Rexx এ পরিবর্তনশীলকে একে একে মান দেওয়া হয়। ইনিশিয়ালাইজেশন খুবই সহজ, এবং এটি সরাসরি মান নির্ধারণ করে।
উদাহরণ:
counter = 10 /* counter নামক পরিবর্তনশীলকে 10 মান দেওয়া হয়েছে */
name = "Alice" /* name নামক পরিবর্তনশীলকে "Alice" মান দেওয়া হয়েছে */এখানে, counter পরিবর্তনশীলকে পূর্ণসংখ্যা 10 এবং name পরিবর্তনশীলকে স্ট্রিং "Alice" মান দেওয়া হয়েছে।
অফিসিয়ালভাবে ইনিশিয়ালাইজ করা না থাকলে ডিফল্ট মান:
Rexx এ যদি কোনো পরিবর্তনশীলকে ইনিশিয়ালাইজ না করা হয়, তবে তার মান "" (শূন্য স্ট্রিং) হবে। অর্থাৎ, Rexx একটি অপ্রাথমিকভাবে ইনিশিয়ালাইজ করা পরিবর্তনশীলের জন্য ডিফল্ট মান শূন্য স্ট্রিং বা শূন্য মান হিসেবে গ্রহণ করবে।
উদাহরণ:
var1 = "" /* var1 এ শূন্য স্ট্রিং মান */
var2 = 0 /* var2 এ শূন্য পূর্ণসংখ্যা মান */অ্যাসাইনমেন্টের মাধ্যমে মান পরিবর্তন:
একবার পরিবর্তনশীলকে ইনিশিয়ালাইজ করা হলে, পরবর্তীতে তা অন্য কোনো মানে পরিবর্তিত করা যেতে পারে। Rexx তে এটি খুব সহজ।
উদাহরণ:
x = 5 /* x নামক পরিবর্তনশীলকে 5 দেওয়া হয়েছে */
x = x + 2 /* এখন x এর মান 7 হবে */এখানে প্রথমে x এর মান ৫ দেওয়া হয়েছিল, এবং পরবর্তীতে তাকে ২ যোগ করার মাধ্যমে নতুন মান ৭ হয়ে গেল।
3. Special Variables (বিশেষ পরিবর্তনশীল)
Rexx এ কিছু বিশেষ পরিবর্তনশীলও থাকে, যা কিছু নির্দিষ্ট তথ্য রাখে, যেমন:
RC: এটি প্রোগ্রামের শেষ হওয়ার পর কমান্ডের রিটার্ন কোড (Return Code) ধারণ করে।ARG: এটি আর্গুমেন্ট হিসেবে প্রোগ্রামে প্রবেশ করা মানগুলিকে ধারণ করে।ADDRESS: এটি একটি বিশেষ কমান্ডের ঠিকানা ধারণ করে (যেমন, ডাটাবেস বা সিস্টেম কমান্ড)।
উদাহরণ:
RC = 0 /* Return code 0 দিয়ে ইনিশিয়ালাইজ */4. Constants (ধ্রুবক মান)
Rexx এ পরিবর্তনশীলকে ধ্রুবক বানানোর কোনো সরাসরি পদ্ধতি নেই, তবে আপনি পরিবর্তনশীলকে একটি নির্দিষ্ট মানে সেট করতে পারেন এবং তারপর সেটি পরিবর্তন করতে পারেন না। এটি মানসিকভাবে ধ্রুবক হিসেবে ব্যবহার করা যায়, যদিও ভাষার মধ্যে কোনো বিশেষ নিয়ম নেই।
উদাহরণ:
MAX_VALUE = 100 /* MAX_VALUE একটি ধ্রুবক মান হিসেবে ব্যবহৃত হতে পারে */সারাংশ:
- Rexx এ পরিবর্তনশীল নামকরণের নিয়ম হলো এটি অক্ষর দিয়ে শুরু হতে হবে এবং নামের মধ্যে অক্ষর, সংখ্যা বা আন্ডারস্কোর (_) থাকতে পারে।
- Rexx একটি ডাইনামিক্যালি টাইপ করা ভাষা হওয়ায়, পরিবর্তনশীলের টাইপ আগে থেকেই নির্ধারণ করতে হয় না।
- Rexx এ পরিবর্তনশীল ইনিশিয়ালাইজেশন সরাসরি অ্যাসাইনমেন্টের মাধ্যমে করা হয়, এবং ডিফল্ট মান হিসেবে শূন্য স্ট্রিং বা শূন্য পূর্ণসংখ্যা প্রদান করা হয়।
- Rexx তে পরিবর্তনশীলের মান সহজে পরিবর্তন করা যায় এবং বিশেষ কিছু পরিবর্তনশীল যেমন
RC,ARG,ADDRESSব্যবহৃত হয় নির্দিষ্ট তথ্য রাখতে।
Read more