पर्ल ब्लेस फंक्शन

Parla Blesa Phanksana



पर्ल में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सिंटैक्स जावा, सी++, पायथन आदि जैसी मानक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं से थोड़ा अलग है। पर्ल में एक क्लास को परिभाषित करने के लिए पैकेज कीवर्ड का उपयोग पर्ल में किया जाता है। पर्ल में ऑब्जेक्ट और मेथड डिक्लेरेशन वेरिएबल और सबरूटीन डिक्लेरेशन के समान है लेकिन रेफरेंस और रेफरेंट को संबंधित करने के लिए पर्ल में किसी ऑब्जेक्ट को डिक्लेयर करने का तरीका अन्य प्रोग्रामिंग भाषाओं से अलग है। इस कार्य को करने के लिए आशीर्वाद() फ़ंक्शन का उपयोग किया जाता है। पर्ल में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग करने के लिए ब्लेस फ़ंक्शन का उपयोग इस ट्यूटोरियल में दिखाया गया है।

वाक्य - विन्यास:

'आशीर्वाद' फ़ंक्शन का सिंटैक्स निम्नलिखित में दिया गया है। इस फ़ंक्शन का उपयोग एक तर्क या दो तर्कों के साथ किया जा सकता है। आम तौर पर, इस फ़ंक्शन का उपयोग दो तर्कों के साथ किया जाता है जहां पहला तर्क संदर्भ चर होता है और दूसरा तर्क वर्ग का नाम होता है जिसे पहले तर्क द्वारा संदर्भित किया जाता है। जब इसका उपयोग एक तर्क मान के साथ किया जाता है, तो संदर्भ चर वर्तमान पैकेज को संदर्भित करता है।







रेफरी को आशीर्वाद दें

या



रेफरी को आशीर्वाद दें , कक्षा का नाम

आशीर्वाद() फ़ंक्शन के विभिन्न उदाहरण

ट्यूटोरियल के इस भाग में आशीर्वाद() फ़ंक्शन का कई तरीकों से उपयोग दिखाया गया है।



उदाहरण 1: सरल वर्ग और वस्तु का उपयोग करना

इस उदाहरण में, 'बुक' नाम के पैकेज में एक सबरूटीन है जो क्लास की कंस्ट्रक्टर विधि की तरह काम करता है। यहां, 'आशीर्वाद' फ़ंक्शन का उपयोग वेरिएबल्स को क्लास नाम के साथ जोड़ने के लिए किया जाता है जो Init() विधि को कॉल करते समय प्रदान किया जाता है।





#!/usr/bin/perl

सख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;

#पैकेज को परिभाषित करें
पैकेज बुक ;
#कंस्ट्रक्टर को परिभाषित करें
Init के अंतर्गत
{
#कक्षा का नाम आरंभ करें
मेरा $className = बदलाव ;
#वेरिएबल को प्रारंभ करें
मेरे $variables = {
'किताब का नाम' => बदलाव ,
'लेखक का नाम' => बदलाव ,
'प्रकाशित वर्ष' => बदलाव ,
'कीमत' => बदलाव
} ;

#संदर्भ को संदर्भ के साथ सेट करें
$variables को आशीर्वाद दें , $वर्गनाम ;
#संदर्भ चर लौटाएँ
वापस करना $चर ;
}

#क्लास का एक ऑब्जेक्ट बनाएं
मेरी $bookObj = इनिट बुक ( 'लर्निंग पर्ल' , 'रैन्डल एल. श्वार्ट्ज' , 1993 , चार पांच ) ;

#क्लास वेरिएबल्स के मान प्रिंट करें
कहना 'पुस्तक विवरण:' ;
कहना ' \एन पुस्तक का नाम: $bookObj->{'BookName'}' ;
कहना 'लेखक का नाम: $bookObj->{'लेखक का नाम'}' ;
कहना 'प्रकाशित वर्ष: $bookObj->{'प्रकाशितवर्ष'}' ;
कहना 'कीमत: \$ $bookObj->{'कीमत'}' ;

आउटपुट:

स्क्रिप्ट निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देता है:



  पी1

उदाहरण 2: क्लास और ऑब्जेक्ट का एकाधिक विधियों के साथ उपयोग करना

इस उदाहरण में, 'उत्पाद' नामक पैकेज में दो विधियाँ हैं। एक विधि Init() है जिसका उपयोग आवश्यक वेरिएबल्स को प्रारंभ करने और 'आशीर्वाद' फ़ंक्शन का उपयोग करके क्लास नाम के साथ वेरिएबल्स को संदर्भित करने के लिए किया जाता है। उत्पाद की छूट कीमत की गणना करने के लिए एक अन्य विधि कैलकुलेट_प्राइस() का उपयोग किया जाता है।

#!/usr/bin/perl

सख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;

#पैकेज को परिभाषित करें
पैकेज उत्पाद ;
मेरे $variables = { } ;

#कंस्ट्रक्टर को परिभाषित करें
Init के अंतर्गत
{
#कक्षा का नाम आरंभ करें
मेरा $className = बदलाव ;
#वेरिएबल को प्रारंभ करें
$चर = {

'पहचान' => बदलाव ,
'नाम' => बदलाव ,
'कीमत' => बदलाव

} ;

#संदर्भ को संदर्भ के साथ सेट करें
$variables को आशीर्वाद दें , $वर्गनाम ;
#संदर्भ चर लौटाएँ
वापस करना $चर ;
}

#डिक्लेयर विधि छूट मूल्य की गणना करने के लिए
उप गणना_मूल्य
{

मेरी $discount_price = $चर- > { 'कीमत' } - $चर- > { 'कीमत' } * 0.1 ;
कहना 'डिस्काउंट कीमत: \$ $छूट_कीमत' ;

}

#क्लास का एक ऑब्जेक्ट बनाएं
मेरा $proObj = आरंभिक उत्पाद ( '6745' , 'डेल मॉनिटर' , पचास ) ;

#क्लास वेरिएबल्स के मान प्रिंट करें
कहना '10 के बाद उत्पाद की जानकारी \% छूट: ' ;
कहना ' \एन आईडी: $proObj->{'आईडी'}' ;
कहना 'नाम: $proObj->{'नाम'}' ;
कहना 'असली कीमत: \$ $proObj->{'कीमत'}' ;

#ऑब्जेक्ट विधि को कॉल करें
$proObj- > गणना_कीमत ( ) ;

आउटपुट:

स्क्रिप्ट निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देता है:

  पी2

उदाहरण 3: मॉड्यूल बनाकर कक्षा का उपयोग करना

इस उदाहरण में, उपयोगकर्ता-परिभाषित पर्ल मॉड्यूल 'CalPower.pm' नामक एक अलग फ़ाइल में बनाया गया है जहां 'आशीर्वाद' फ़ंक्शन का उपयोग किया जाता है। इस फ़ाइल को निम्नलिखित पर्ल स्क्रिप्ट के साथ बनाएं। यह मॉड्यूल 'x' की गणना करता है एन ' जहां 'x' और 'n' के मान पर्ल स्क्रिप्ट से प्रदान किए जाते हैं जहां यह मॉड्यूल आयात किया जाता है।

#!/usr/bin/perl

सख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;

#पैकेज का नाम परिभाषित करें
पैकेज CalPower ;

#कंस्ट्रक्टर को परिभाषित करें
Init के अंतर्गत
{
मेरा $className = बदलाव ;
मेरा $var =
{
संख्या => बदलाव ,
शक्ति => बदलाव
} ;

आशीर्वाद $var , $वर्गनाम ;
वापस करना $var ;

}

#शक्ति मान की गणना करने की विधि परिभाषित करें
उप गणना
{
मेरा $var = बदलाव ;
मेरा $परिणाम = $var- > { 'संख्या' } ;
के लिए ( मेरा $i = 1 ; $मैं < $var- > { 'शक्ति' } ; $i++ )
{
$परिणाम = $var- > { 'संख्या' } * $परिणाम ;
}
वापस करना $परिणाम ;

}

निम्नलिखित स्क्रिप्ट के साथ एक पर्ल फ़ाइल बनाएं जहां उपयोगकर्ता से लिए गए इनपुट मान के आधार पर शक्ति की गणना करने के लिए 'कैलपावर' मॉड्यूल आयात किया जाता है।

#!/usr/bin/perl

सख्त उपयोग करें ;
उपयोग चेतावनियाँ ;
5.34.0 का उपयोग करें ;
कैलपावर का प्रयोग करें ;

#आधार मान लें
छपाई 'x का मान दर्ज करें:' ;
चॉम्प ( मेरा $x = <> ) ;
#पावर वेले ले लो
छपाई 'n का मान दर्ज करें:' ;
चॉम्प ( मेरा $n = <> ) ;

#क्लास का एक ऑब्जेक्ट बनाएं
मेरा $Obj = इनिट कैलपावर ( $x , $एन ) ;

#गणना की गई शक्ति मान प्रिंट करें
छपाई '$x की शक्ति $n है' ;
$Obj कहें- > गणना ( ) ;

आउटपुट:

स्क्रिप्ट निष्पादित करने के बाद निम्नलिखित आउटपुट दिखाई देता है:

  पी 3

निष्कर्ष

पर्ल में 'आशीर्वाद' फ़ंक्शन का उपयोग इस ट्यूटोरियल में उसी पर्ल फ़ाइल में एक पैकेज बनाकर और एक अलग फ़ाइल में एक मॉड्यूल बनाकर दिखाया गया है।