PowerShell-এ ফাংশন তৈরি এবং ব্যবহার করা একটি শক্তিশালী পদ্ধতি, যা স্ক্রিপ্ট বা কমান্ডের পুনরাবৃত্তি কমাতে এবং কোডকে আরও সংগঠিত করতে সাহায্য করে। ফাংশনের মাধ্যমে আপনি নির্দিষ্ট কার্যক্রম বা লজিক একটি একক ইউনিট হিসেবে সংজ্ঞায়িত করতে পারেন। ফাংশনগুলিতে পারামিটারস (Parameters) এবং রিটার্ন ভ্যালু (Return Values) ব্যবহৃত হয়, যা ফাংশনের আউটপুট এবং ইনপুট নিয়ন্ত্রণ করতে সহায়ক।
Function Parameters (ফাংশন প্যারামিটারস)
PowerShell-এ ফাংশন প্যারামিটারস ব্যবহার করে আপনি ফাংশনের জন্য ইনপুট প্রদান করতে পারেন। প্যারামিটারস ফাংশনের মধ্যে মান প্রেরণ করার জন্য ব্যবহৃত হয় এবং এগুলি ফাংশনের কার্যকারিতা নিয়ন্ত্রণ করে।
1. Basic Function with Parameters
PowerShell-এ ফাংশন তৈরি করতে, function কিওয়ার্ড ব্যবহার করা হয় এবং প্যারামিটারস নির্ধারণ করা হয় $param ব্লকে।
function Add-Numbers {
param(
[int]$a,
[int]$b
)
return $a + $b
}
# ফাংশন কল
Add-Numbers -a 5 -b 3
এখানে, Add-Numbers ফাংশন দুটি প্যারামিটার নেবে: $a এবং $b। ফাংশনটি তাদের যোগফল রিটার্ন করবে।
2. Positional Parameters (পজিশনাল প্যারামিটারস)
PowerShell-এ প্যারামিটারস পজিশনাল হতে পারে, অর্থাৎ তাদের আদেশ অনুসারে মান প্রদান করা হয়। উদাহরণস্বরূপ:
function Greet-User {
param(
$name,
$age
)
return "Hello $name, you are $age years old."
}
# পজিশনাল প্যারামিটার ব্যবহার
Greet-User "John" 30
এখানে, প্রথম প্যারামিটার $name এবং দ্বিতীয় প্যারামিটার $age নির্দিষ্ট আদেশে দেওয়া হয়েছে। এভাবে প্যারামিটারগুলোর মান প্রদান করা হয়।
3. Named Parameters (নামকৃত প্যারামিটারস)
PowerShell-এ আপনি প্যারামিটারগুলোর নাম উল্লেখ করে মান প্রেরণ করতে পারেন। এটি বিশেষ করে প্যারামিটারদের মধ্যে বিভ্রান্তি এড়াতে সহায়তা করে।
function Greet-User {
param(
[string]$name,
[int]$age
)
return "Hello $name, you are $age years old."
}
# নামকৃত প্যারামিটার ব্যবহার
Greet-User -name "Alice" -age 25
এখানে, $name এবং $age প্যারামিটারদের নামকরণ করা হয়েছে এবং তাদের মান আর্গুমেন্ট হিসেবে দেওয়া হয়েছে।
4. Default Parameter Values (ডিফল্ট প্যারামিটার ভ্যালু)
PowerShell-এ আপনি ফাংশন প্যারামিটারসের জন্য ডিফল্ট মান নির্ধারণ করতে পারেন, যা ব্যবহারকারী যখন কোনো মান প্রদান না করে, তখন ব্যবহার করা হয়।
function Greet-User {
param(
[string]$name = "Guest",
[int]$age = 20
)
return "Hello $name, you are $age years old."
}
# ডিফল্ট মান ব্যবহার
Greet-User
# কাস্টম মান প্রদান
Greet-User -name "Bob" -age 35
এখানে, যদি প্যারামিটারগুলির জন্য কোনো মান প্রদান না করা হয়, তবে ডিফল্ট মান (Guest এবং 20) ব্যবহার হবে।
Return Values (রিটার্ন ভ্যালু)
ফাংশন থেকে মান ফেরত (return) করতে, PowerShell-এ return কিওয়ার্ড ব্যবহার করা হয়, তবে আপনি প্যারামিটারগুলির মান সরাসরি return না করে শুধুমাত্র ফাংশনের শেষে লিখে ফেলে দিতে পারেন এবং PowerShell তা গোপনে রিটার্ন করবে।
1. Basic Return Statement
function Add-Numbers {
param(
[int]$a,
[int]$b
)
return $a + $b
}
# ফাংশন কল এবং আউটপুট দেখুন
$sum = Add-Numbers -a 5 -b 3
Write-Output $sum
এখানে, Add-Numbers ফাংশনটি দুটি সংখ্যা যোগফল রিটার্ন করবে এবং আমরা এটি $sum ভেরিয়েবলে সঞ্চয় করে আউটপুট হিসেবে প্রদর্শন করব।
2. Implicit Return (অপ্রকাশিত রিটার্ন)
PowerShell ফাংশনগুলি যেকোনো মান সরাসরি return কিওয়ার্ড ব্যবহার না করে রিটার্ন করতে পারে, কারণ ফাংশনের শেষ লাইনটি সাধারণত রিটার্ন মান হিসেবে বিবেচিত হয়।
function Multiply-Numbers {
param(
[int]$a,
[int]$b
)
$result = $a * $b
$result # কোনো 'return' কিওয়ার্ড ব্যবহৃত হয়নি, তবে এটি রিটার্ন হবে
}
# ফাংশন কল
$prod = Multiply-Numbers -a 4 -b 3
Write-Output $prod
এখানে, $result ভেরিয়েবলটি ফাংশনের শেষ লাইন হিসাবে রিটার্ন হবে, তাই return কিওয়ার্ড ব্যবহার করার প্রয়োজন নেই।
3. Multiple Return Values (একাধিক রিটার্ন ভ্যালু)
PowerShell-এ আপনি একটি ফাংশন থেকে একাধিক মানও রিটার্ন করতে পারেন। এটি একটি অ্যারে, অবজেক্ট বা হ্যাশটেবিলের মাধ্যমে করা সম্ভব।
function Get-UserInfo {
param(
[string]$name,
[int]$age
)
$userInfo = @{
Name = $name
Age = $age
}
return $userInfo
}
# ফাংশন কল এবং আউটপুট
$user = Get-UserInfo -name "David" -age 40
Write-Output $user.Name
Write-Output $user.Age
এখানে, একটি হ্যাশটেবিল রিটার্ন করা হয়েছে, যাতে ব্যবহারকারীর নাম এবং বয়স রয়েছে, যা পরে অ্যাক্সেস করা যেতে পারে।
Summary
PowerShell ফাংশন প্যারামিটারস এবং রিটার্ন ভ্যালু ব্যবহারের মাধ্যমে কোডের পুনঃব্যবহারযোগ্যতা, পরিষ্কারতা এবং কার্যকারিতা বৃদ্ধি করা সম্ভব। প্যারামিটারস ফাংশনের ইনপুট নিয়ন্ত্রণ করে এবং রিটার্ন ভ্যালু গুলি ফাংশনের আউটপুট হিসেবে কাজ করে।
Read more