পার্ল আশীর্বাদ ফাংশন

Parla Asirbada Phansana



পার্লে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সিনট্যাক্স জাভা, C++, পাইথন ইত্যাদির মতো স্ট্যান্ডার্ড অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে কিছুটা আলাদা। প্যাকেজ কীওয়ার্ডটি পার্লে একটি ক্লাস সংজ্ঞায়িত করতে পার্লে ব্যবহার করা হয়। পার্লে অবজেক্ট এবং মেথড ডিক্লেয়ারেশন ভেরিয়েবল এবং সাবরুটিন ডিক্লেয়ারেশনের মতো কিন্তু রেফারেন্স এবং রেফারেন্টকে রিলেট করার জন্য পার্লে একটি অবজেক্ট ডিক্লেয়ার করার পদ্ধতি অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে আলাদা। এই কাজটি করার জন্য bless() ফাংশন ব্যবহার করা হয়। পার্লে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং করার জন্য bless ফাংশনের ব্যবহার এই টিউটোরিয়ালে দেখানো হয়েছে।

বাক্য গঠন:

'আশীর্বাদ' ফাংশনের সিনট্যাক্স নিম্নলিখিত দেওয়া হয়েছে. এই ফাংশনটি একটি আর্গুমেন্ট বা দুটি আর্গুমেন্টের সাথে ব্যবহার করা যেতে পারে। সাধারণত, এই ফাংশনটি দুটি আর্গুমেন্টের সাথে ব্যবহার করা হয় যেখানে প্রথম আর্গুমেন্ট হল রেফারেন্স ভেরিয়েবল এবং দ্বিতীয় আর্গুমেন্ট হল ক্লাসের নাম যা প্রথম আর্গুমেন্ট দ্বারা রেফার করা হয়। যখন এটি একটি আর্গুমেন্ট মানের সাথে ব্যবহার করা হয়, তখন রেফারেন্স ভেরিয়েবল বর্তমান প্যাকেজকে বোঝায়।







রেফ আশীর্বাদ করুন

বা



রেফ আশীর্বাদ করুন , শ্রেণির নাম

Bless() ফাংশনের বিভিন্ন উদাহরণ

অনেক উপায়ে bless() ফাংশনের ব্যবহার টিউটোরিয়ালের এই অংশে দেখানো হয়েছে।



উদাহরণ 1: সরল ক্লাস এবং অবজেক্ট ব্যবহার করা

এই উদাহরণে, 'বুক' নামের প্যাকেজটিতে একটি সাবরুটিন রয়েছে যা ক্লাসের কনস্ট্রাক্টর পদ্ধতির মতো কাজ করে। এখানে, 'আশীর্বাদ' ফাংশনটি ভেরিয়েবলকে ক্লাস নামের সাথে সম্পর্কিত করতে ব্যবহৃত হয় যা Init() পদ্ধতিতে কল করার সময় দেওয়া হয়।





#!/usr/bin/perl

কঠোর ব্যবহার করুন ;
ব্যবহার সতর্কতা ;
5.34.0 ব্যবহার করুন ;

# প্যাকেজ সংজ্ঞায়িত করুন
প্যাকেজ বই ;
# কনস্ট্রাক্টর সংজ্ঞায়িত করুন
Init এর অধীনে
{
# ক্লাসের নাম শুরু করুন
আমার $className = স্থানান্তর ;
# ভেরিয়েবল শুরু করুন
আমার $ভেরিয়েবল = {
'বইয়ের নাম' => স্থানান্তর ,
'লেখকের নাম' => স্থানান্তর ,
'প্রকাশের বছর' => স্থানান্তর ,
'দাম' => স্থানান্তর
} ;

# রেফারেন্সের সাথে রেফারেন্স সেট করুন
$ভেরিয়েবলকে আশীর্বাদ করুন , $className ;
# রেফারেন্স ভেরিয়েবল ফেরত দিন
ফিরে $ভেরিয়েবল ;
}

# ক্লাসের একটি অবজেক্ট তৈরি করুন
আমার $bookObj = ইনিট বই ( 'পার্ল শেখা' , 'র্যান্ডাল এল. শোয়ার্টজ' , 1993 , চার পাঁচ ) ;

# ক্লাস ভেরিয়েবলের মান প্রিন্ট করুন
বল 'বইয়ের বিবরণ:' ;
বল ' \n বইয়ের নাম: $bookObj->{'BookName'}' ;
বল 'লেখকের নাম: $bookObj->{'AuthorName'}' ;
বল 'প্রকাশিত বছর: $bookObj->{'PublishedYear'}' ;
বল 'মূল্য: \$ $bookObj->{'দাম'}' ;

আউটপুট:

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হয়:



  p1

উদাহরণ 2: একাধিক পদ্ধতি সহ ক্লাস এবং অবজেক্ট ব্যবহার করা

এই উদাহরণে, 'পণ্য' নামের প্যাকেজটিতে দুটি পদ্ধতি রয়েছে। একটি পদ্ধতি হল Init() যা প্রয়োজনীয় ভেরিয়েবল শুরু করতে এবং 'আশীর্বাদ' ফাংশন ব্যবহার করে ক্লাস নাম সহ ভেরিয়েবলগুলিকে উল্লেখ করতে ব্যবহৃত হয়। আরেকটি পদ্ধতি যা হল calculate_price() পণ্যের ডিসকাউন্ট মূল্য গণনা করতে ব্যবহৃত হয়।

#!/usr/bin/perl

কঠোর ব্যবহার করুন ;
ব্যবহার সতর্কতা ;
5.34.0 ব্যবহার করুন ;

# প্যাকেজ সংজ্ঞায়িত করুন
প্যাকেজ পণ্য ;
আমার $ভেরিয়েবল = { } ;

# কনস্ট্রাক্টর সংজ্ঞায়িত করুন
Init এর অধীনে
{
# ক্লাসের নাম শুরু করুন
আমার $className = স্থানান্তর ;
# ভেরিয়েবল শুরু করুন
$ভেরিয়েবল = {

'আইডি' => স্থানান্তর ,
'নাম' => স্থানান্তর ,
'দাম' => স্থানান্তর

} ;

# রেফারেন্সের সাথে রেফারেন্স সেট করুন
$ভেরিয়েবলকে আশীর্বাদ করুন , $className ;
# রেফারেন্স ভেরিয়েবল ফেরত দিন
ফিরে $ভেরিয়েবল ;
}

# ডিসকাউন্ট মূল্য গণনা করার পদ্ধতি ঘোষণা করুন
সাব calculate_price
{

আমার $discount_price = $ভেরিয়েবল- > { 'দাম' } - $ভেরিয়েবল- > { 'দাম' } * 0.1 ;
বল 'ডিসকাউন্ট মূল্য: \$ $discount_price' ;

}

# ক্লাসের একটি অবজেক্ট তৈরি করুন
আমার $proObj = Init পণ্য ( '6745' , 'ডেল মনিটর' , পঞ্চাশ ) ;

# ক্লাস ভেরিয়েবলের মান প্রিন্ট করুন
বল '10 এর পরে পণ্যের তথ্য \% ছাড়: ' ;
বল ' \n আইডি: $proObj->{'Id'}' ;
বল 'নাম: $proObj->{'Name'}' ;
বল 'মূল দাম: \$ $proObj->{'দাম'}' ;

# অবজেক্ট পদ্ধতিতে কল করুন
$proObj- > calculate_price ( ) ;

আউটপুট:

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হয়:

  p2

উদাহরণ 3: একটি মডিউল তৈরি করে ক্লাস ব্যবহার করা

এই উদাহরণে, ব্যবহারকারী-সংজ্ঞায়িত পার্ল মডিউলটি 'CalPower.pm' নামে একটি পৃথক ফাইলে তৈরি করা হয়েছে যেখানে 'আশীর্বাদ' ফাংশন ব্যবহার করা হয়েছে। নিম্নলিখিত পার্ল স্ক্রিপ্ট দিয়ে এই ফাইলটি তৈরি করুন। এই মডিউলটি 'x' গণনা করে n ' যেখানে 'x' এবং 'n' এর মানগুলি পার্ল স্ক্রিপ্ট থেকে প্রদান করা হয় যেখানে এই মডিউলটি আমদানি করা হয়।

#!/usr/bin/perl

কঠোর ব্যবহার করুন ;
ব্যবহার সতর্কতা ;
5.34.0 ব্যবহার করুন ;

# প্যাকেজের নাম সংজ্ঞায়িত করুন
প্যাকেজ ক্যালপাওয়ার ;

# কনস্ট্রাক্টর সংজ্ঞায়িত করুন
Init এর অধীনে
{
আমার $className = স্থানান্তর ;
আমার $var =
{
সংখ্যা => স্থানান্তর ,
ক্ষমতা => স্থানান্তর
} ;

আশীর্বাদ $var , $className ;
ফিরে $var ;

}

# পাওয়ার মান গণনা করার পদ্ধতিটি সংজ্ঞায়িত করুন
উপ গণনা
{
আমার $var = স্থানান্তর ;
আমার $ফলাফল = $var- > { 'সংখ্যা' } ;
জন্য ( আমার $i = 1 ; $i < $var- > { 'শক্তি' } ; $i++ )
{
$ফলাফল = $var- > { 'সংখ্যা' } * $ফলাফল ;
}
ফিরে $ফলাফল ;

}

নিম্নলিখিত স্ক্রিপ্ট সহ একটি পার্ল ফাইল তৈরি করুন যেখানে ব্যবহারকারীর কাছ থেকে নেওয়া ইনপুট মানের উপর ভিত্তি করে পাওয়ার গণনা করতে 'ক্যালপাওয়ার' মডিউল আমদানি করা হয়।

#!/usr/bin/perl

কঠোর ব্যবহার করুন ;
ব্যবহার সতর্কতা ;
5.34.0 ব্যবহার করুন ;
CalPower ব্যবহার করুন ;

# ভিত্তি মান নিন
ছাপা 'x এর মান লিখুন:' ;
চম্প ( আমার $x = <> ) ;
# পাওয়ার ভ্যাল নিন
ছাপা 'n এর মান লিখুন:' ;
চম্প ( আমার $n = <> ) ;

# ক্লাসের একটি অবজেক্ট তৈরি করুন
আমার $Obj = ক্যালপাওয়ার শুরু করুন ( $x , $n ) ;

# গণনাকৃত পাওয়ার মান প্রিন্ট করুন
ছাপা '$x এর শক্তি $n হল ' ;
বল $Obj- > হিসাব করুন ( ) ;

আউটপুট:

স্ক্রিপ্ট চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হয়:

  p3

উপসংহার

পার্লে 'আশীর্বাদ' ফাংশনের ব্যবহারগুলি একই পার্ল ফাইলে একটি প্যাকেজ তৈরি করে এবং একটি ভিন্ন ফাইলে একটি মডিউল তৈরি করে এই টিউটোরিয়ালে দেখানো হয়েছে।