ফাংশন কী এবং কিভাবে কাজ করে

Microsoft Technologies - ব্যাচ স্ক্রিপ্ট (Batch Script) ফাংশন এবং সাবরুটিন (Functions and Subroutines) |
210
210

Batch script-এ ফাংশন সরাসরি সংজ্ঞায়িত করার সুযোগ নেই, তবে সাবরুটিন ব্যবহারের মাধ্যমে ফাংশনের মতো কার্যক্ষমতা অর্জন করা যায়। একটি ফাংশন সাধারণভাবে একটি নির্দিষ্ট কাজ সম্পন্ন করে এবং প্রয়োজনীয় আউটপুট রিটার্ন করে, তবে Batch script-এ ফাংশনগুলির কাজের ধরণ কিছুটা আলাদা। এখানে, সাবরুটিন ব্যবহার করে নির্দিষ্ট কার্যাবলী সম্পন্ন করা হয় এবং তা আবার অন্য স্থানে কল (CALL) করা হয়।

1. ফাংশন এবং সাবরুটিনের মধ্যে পার্থক্য

Batch script-এ ফাংশন এবং সাবরুটিন একে অপরের মতো কাজ করে, তবে ফাংশনের বিশেষত্ব হল এটি কোনও রিটার্ন ভ্যালু প্রদান করতে পারে। Batch script-এ রিটার্ন ভ্যালু ব্যবহারের কোনো সরাসরি পদ্ধতি নেই, তবে আপনি সাবরুটিনে কোন আউটপুট সেট করতে পারেন এবং পরে সেই আউটপুট অন্য স্থানে ব্যবহার করতে পারেন।

যেহেতু Batch script একটি সহজ স্ক্রিপ্টিং ভাষা, এটি পূর্ণ ফাংশনাল প্রোগ্রামিং ধারণা সমর্থন করে না, কিন্তু আপনি প্যারামিটার পাস করে সাবরুটিন বা ফাংশনগুলির মতো কাজ করতে পারেন।

2. ফাংশন তৈরির পদ্ধতি

Batch script-এ সরাসরি ফাংশন সংজ্ঞায়িত করা সম্ভব নয়, তবে আপনি সাবরুটিন তৈরি করে এবং সেই সাবরুটিন থেকে আউটপুট ফেরত নিয়ে কাজ করতে পারেন।

ফাংশন তৈরি করতে, CALL কমান্ড ব্যবহার করা হয়, এবং এতে প্যারামিটার পাস করতে পারা যায়। এর মাধ্যমে, ফাংশনের মতো কোড ব্লক তৈরি করা যায়।

3. ফাংশন ডিফাইন এবং কল করার উদাহরণ

ধরা যাক, আপনি একটি সাবরুটিন তৈরি করতে চান যা দুটি সংখ্যার যোগফল প্রদান করবে। এটি ফাংশনের মতো কাজ করবে এবং আপনি বিভিন্ন জায়গায় একে কল (CALL) করতে পারবেন।

@echo off
CALL :addNumbers 10 20
echo Main script ends here
goto :eof

:addNumbers
set num1=%1
set num2=%2
set /a sum=%num1% + %num2%
echo Sum is: %sum%
goto :eof

এই উদাহরণে, আমরা CALL :addNumbers 10 20 দিয়ে দুইটি সংখ্যা পাস করছি। সাবরুটিনটি তারপর সেই সংখ্যা দুটি গ্রহণ করে তাদের যোগফল বের করে এবং প্রিন্ট করে।

  • %1 এবং %2 প্যারামিটার হিসেবে কাজ করে, যা প্রথম এবং দ্বিতীয় আর্গুমেন্টকে রেফার করে।
  • set /a কমান্ডটি গাণিতিক অপারেশন করার জন্য ব্যবহার করা হয়েছে, যা দুটি সংখ্যা যোগফল বের করতে সহায়তা করে।
  • goto :eof দিয়ে সাবরুটিনের শেষে ফিরে আসা হয়, যেখানে :eof (End Of File) নির্দেশনা দেয়।

4. প্যারামিটার পাসিং

Batch script-এ সাবরুটিনে প্যারামিটার পাস করার জন্য %1, %2, %3 ইত্যাদি ব্যবহার করা হয়। এটি ফাংশনের মতো কাজ করে এবং আপনাকে বিভিন্ন ইনপুট প্রদান করার সুযোগ দেয়।

@echo off
CALL :multiplyNumbers 5 7
goto :eof

:multiplyNumbers
set num1=%1
set num2=%2
set /a product=%num1% * %num2%
echo The product is: %product%
goto :eof

এখানে, CALL :multiplyNumbers 5 7 দিয়ে দুটি সংখ্যা পাস করা হয়েছে, এবং ওই দুটি সংখ্যার গুণফল বের করা হয়েছে। %1 এবং %2 প্যারামিটার হিসেবে প্রথম এবং দ্বিতীয় সংখ্যাকে গ্রহণ করে এবং তাদের গুণফল প্রিন্ট করা হয়।

5. Return Value Simulation

Batch script-এ সরাসরি রিটার্ন ভ্যালু দেয়ার পদ্ধতি নেই, তবে আপনি SET কমান্ডের মাধ্যমে একটি ভ্যারিয়েবল সেট করে সেই ভ্যারিয়েবলকে মূল স্ক্রিপ্টে ব্যবহার করতে পারেন।

@echo off
CALL :multiplyNumbers 5 10
echo The main script continues
goto :eof

:multiplyNumbers
set num1=%1
set num2=%2
set /a result=%num1% * %num2%
set result=%result%
goto :eof

এখানে, সাবরুটিনের মধ্যে একটি ভ্যারিয়েবল result সেট করা হয়েছে, যা গুণফল ধারণ করে এবং এটি পরবর্তীতে ব্যবহৃত হতে পারে। এটি প্রকৃত রিটার্ন ভ্যালুর মতো কাজ করে, যদিও Batch script সরাসরি কোন রিটার্ন স্টেটমেন্ট সাপোর্ট করে না।

সারাংশ

Batch script-এ সরাসরি ফাংশন সংজ্ঞায়িত করার পদ্ধতি নেই, তবে সাবরুটিন ব্যবহার করে আপনি ফাংশনের মতো কোড ব্লক তৈরি করতে পারেন। CALL কমান্ডের মাধ্যমে সাবরুটিন কল করা হয় এবং প্যারামিটার পাস করা হয়। Batch script-এ কোন প্রকৃত রিটার্ন ভ্যালু থাকলেও, আপনি SET কমান্ডের মাধ্যমে আউটপুট ফিরিয়ে এনে স্ক্রিপ্টের অন্যান্য অংশে ব্যবহার করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion