PowerShell-এ function হলো একটি কোড ব্লক যা একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য তৈরি করা হয়। এটি পুনরাবৃত্তি ভিত্তিক কাজগুলো সহজভাবে পরিচালনা করতে সাহায্য করে, কারণ একটি ফাংশন একবার তৈরি করলে, আপনি সেটি বারবার ব্যবহার করতে পারেন। PowerShell ফাংশনগুলি ইনপুট প্যারামিটার নিতে পারে এবং আউটপুট প্রদান করতে পারে, এবং এটি কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি করে।
Function কী?
PowerShell ফাংশন হলো একটি নামকৃত কোড ব্লক, যা একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য ডিফাইন করা হয়। ফাংশন ব্যবহার করে আমরা পুনরাবৃত্তিমূলক কাজগুলো সহজে সম্পাদন করতে পারি, কারণ ফাংশন একটি নির্দিষ্ট কাজ বা কমান্ড গ্রুপকে এক জায়গায় আবদ্ধ করে রাখে।
ফাংশনের সুবিধা:
- পুনঃব্যবহারযোগ্যতা: একবার তৈরি করলে ফাংশন বারবার ব্যবহার করা যায়।
- কোড সংগঠিত রাখা: কোডকে ছোট ছোট অংশে ভাগ করা যায়, যা কোড রিডেবিলিটি এবং মেইনটেইনেবিলিটি বাড়ায়।
- ডিবাগিং সহজ: কোডের ছোট ছোট অংশে বিভক্ত থাকলে ত্রুটি অনুসন্ধান (debugging) সহজ হয়।
PowerShell এ ফাংশন তৈরি করা
PowerShell-এ ফাংশন তৈরি করতে function কীওয়ার্ড ব্যবহার করা হয়। ফাংশন তৈরি করতে, ফাংশনের নাম, ইনপুট প্যারামিটার (যদি থাকে), এবং কোড ব্লক প্রয়োজন হয়।
সাধারণ ফাংশন তৈরি:
function FunctionName {
# ফাংশনের কাজ এখানে থাকবে
Write-Output "Hello, PowerShell!"
}
এই ফাংশনটি FunctionName নাম দিয়ে তৈরি করা হয়েছে, এবং যখন এটি চালানো হবে, এটি "Hello, PowerShell!" আউটপুট করবে।
ফাংশন কল করা:
ফাংশন কল করতে সরাসরি তার নাম ব্যবহার করা হয়:
FunctionName
ফাংশনে প্যারামিটার ব্যবহার
ফাংশনের মাধ্যমে আমরা প্যারামিটার পাঠাতে পারি, যা ফাংশনের মধ্যে নির্দিষ্ট মানের সঙ্গে কাজ করতে সহায়ক। প্যারামিটারগুলি ফাংশনের ইনপুট হিসেবে কাজ করে।
প্যারামিটার সহ ফাংশন:
function GreetUser {
param (
[string]$Name
)
Write-Output "Hello, $Name!"
}
এই ফাংশনে $Name প্যারামিটার গ্রহণ করা হয়েছে, যা ব্যবহারকারীকে সালাম জানানোর জন্য ব্যবহার করা হয়।
ফাংশন কল করে প্যারামিটার প্রদান:
GreetUser -Name "Alice"
এই কলটি আউটপুট দিবে:
Hello, Alice!
প্যারামিটার সহ ফাংশন আরও উন্নতভাবে তৈরি করা
ফাংশনে একাধিক প্যারামিটার ব্যবহার করা যেতে পারে, এবং প্যারামিটারগুলোর জন্য ডিফল্ট মানও নির্ধারণ করা সম্ভব।
function GreetUser {
param (
[string]$FirstName,
[string]$LastName = "Doe" # Default value
)
Write-Output "Hello, $FirstName $LastName!"
}
এখানে $LastName প্যারামিটারটির ডিফল্ট মান "Doe" দেওয়া হয়েছে। যদি এটি কল করার সময় প্রদান না করা হয়, তবে ডিফল্ট মানটি ব্যবহৃত হবে।
কল করার সময় প্যারামিটার প্রদান:
GreetUser -FirstName "John" -LastName "Smith"
আউটপুট:
Hello, John Smith!
ডিফল্ট প্যারামিটার মান ব্যবহার:
GreetUser -FirstName "Jane"
আউটপুট:
Hello, Jane Doe!
ফাংশন থেকে আউটপুট প্রদান
PowerShell ফাংশন থেকে আউটপুট পাঠানোর জন্য return কিওয়ার্ড ব্যবহার করা হয়, তবে PowerShell স্বয়ংক্রিয়ভাবে যে কোনো মান আউটপুট হিসেবে প্রদান করে, সেটা অন্তর্নিহিতভাবে return কিওয়ার্ড ছাড়াই।
return ব্যবহার:
function AddNumbers {
param (
[int]$num1,
[int]$num2
)
return $num1 + $num2
}
ফাংশনটি দুটি সংখ্যা যোগ করে ফলাফল রিটার্ন করবে।
ফাংশন কল করা:
$result = AddNumbers -num1 5 -num2 3
Write-Output $result
আউটপুট:
8
return ছাড়া আউটপুট:
function MultiplyNumbers {
param (
[int]$num1,
[int]$num2
)
$num1 * $num2 # Implicit return
}
ফাংশন ডিফিনিশন ও স্কোপ
PowerShell-এ ফাংশন একবার ডিফাইন করা হলে, তা ঐ স্কোপের মধ্যে অ্যাক্সেসযোগ্য থাকে। একটি ফাংশন যদি লোকাল স্কোপে ডিফাইন করা হয়, তবে অন্য স্কোপ থেকে তা অ্যাক্সেস করা সম্ভব নয়, কিন্তু গ্লোবাল স্কোপে ডিফাইন করলে তা পুরো সেশনে ব্যবহারযোগ্য হয়।
গ্লোবাল স্কোপে ফাংশন তৈরি:
function GlobalFunction {
Write-Output "This is a global function"
}
# GlobalFunction এখন সেশন জুড়ে অ্যাক্সেসযোগ্য
সারাংশ
PowerShell-এ ফাংশন ব্যবহারের মাধ্যমে আপনি কোডের পুনঃব্যবহারযোগ্যতা এবং পরিস্কার সংগঠন নিশ্চিত করতে পারেন। ফাংশন তৈরি করতে function কীওয়ার্ড, প্যারামিটার ব্যবহারের জন্য param ব্লক এবং আউটপুট পাঠানোর জন্য return বা সরাসরি মান ব্যবহার করা হয়।
Read more