Syntaksi:
'Bless'-funktion syntaksi on annettu seuraavassa. Tätä funktiota voidaan käyttää yhdellä tai kahdella argumentilla. Normaalisti tätä funktiota käytetään kahden argumentin kanssa, jolloin ensimmäinen argumentti on viitemuuttuja ja toinen argumentti on luokan nimi, johon ensimmäinen argumentti viittaa. Kun sitä käytetään yhden argumentin arvon kanssa, viitemuuttuja viittaa nykyiseen pakettiin.
siunaa ref
tai
siunaa ref , luokan nimi
Erilaisia esimerkkejä Bless()-funktiosta
Bless()-funktion käyttö useilla tavoilla esitetään tässä opetusohjelman osassa.
Esimerkki 1: Yksinkertaisen luokan ja objektin käyttäminen
Tässä esimerkissä 'Book'-niminen paketti sisältää aliohjelman, joka toimii kuten luokan konstruktorimetodi. Tässä 'bless'-funktiota käytetään liittämään muuttujat luokan nimeen, joka on annettu Init()-metodin kutsun yhteydessä.
#!/usr/bin/perl
käytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
#Määrittele paketti
paketti kirja ;
#Määrittele rakentaja
Initin alla
{
#Alusta luokan nimi
minun $className = siirtää ;
#Alusta muuttujat
$muuttujani = {
'BookName' => siirtää ,
'Kirjoittajan nimi' => siirtää ,
'Julkaisuvuosi' => siirtää ,
'Hinta' => siirtää
} ;
#Aseta viittaus referentin kanssa
siunaa $muuttujia , $className ;
#Palauta viitemuuttuja
palata $muuttujia ;
}
#Luo luokan objekti
minun $bookObj = Alkukirja ( 'Perlin oppiminen' , 'Randal L. Schwartz' , 1993 , Neljä viisi ) ;
#Tulosta luokkamuuttujien arvot
sanoa 'Kirjan tiedot:' ;
sanoa ' \n Kirjan nimi: $bookObj->{'BookName'}' ;
sanoa 'Kirjoittajan nimi: $bookObj->{'AuthorName'}' ;
sanoa 'Julkaisuvuosi: $bookObj->{'PublishedYear'}' ;
sanoa 'Hinta: \$ $bookObj->{'Price'}' ;
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Esimerkki 2: Luokan ja objektin käyttäminen useilla menetelmillä
Tässä esimerkissä 'Tuotteet'-niminen paketti sisältää kaksi menetelmää. Yksi menetelmä on Init(), jolla alustetaan tarvittavat muuttujat ja viitataan muuttujiin luokan nimellä 'bless'-funktiolla. Toista menetelmää, laskea_hinta(), käytetään tuotteen alennushinnan laskemiseen.
#!/usr/bin/perlkäytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
#Määrittele paketti
paketti tuote ;
$muuttujani = { } ;
#Määrittele rakentaja
Initin alla
{
#Alusta luokan nimi
minun $className = siirtää ;
#Alusta muuttujat
$muuttujia = {
'Id' => siirtää ,
'Nimi' => siirtää ,
'Hinta' => siirtää
} ;
#Aseta viittaus referentin kanssa
siunaa $muuttujia , $className ;
#Palauta viitemuuttuja
palata $muuttujia ;
}
#Ilmoita menetelmä alennushinnan laskemiseksi
alilaske_hinta
{
minun $alennushintani = $muuttujat- > { 'Hinta' } - $muuttujat- > { 'Hinta' } * 0.1 ;
sanoa 'Alennushinta: \$ $alennushinta' ;
}
#Luo luokan objekti
minun $proObj = Alkutuote ( '6745' , 'Dell-näyttö' , viisikymmentä ) ;
#Tulosta luokkamuuttujien arvot
sanoa 'Tuotetiedot 10 jälkeen \% alennus: ' ;
sanoa ' \n Id: $proObj->{'Id'}' ;
sanoa 'Nimi: $proObj->{'Nimi'}' ;
sanoa 'Alkuperäinen hinta: \$ $proObj->{'Price'}' ;
#Kutsu objektimetodia
$proObj- > laske_hinta ( ) ;
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Esimerkki 3: Luokan käyttäminen luomalla moduuli
Tässä esimerkissä käyttäjän määrittämä Perl-moduuli luodaan erilliseen tiedostoon nimeltä “CalPower.pm”, jossa käytetään “bless”-toimintoa. Luo tämä tiedosto seuraavalla Perl-skriptillä. Tämä moduuli laskee 'x n ' jossa 'x':n ja 'n':n arvot saadaan Perl-komentosarjasta, johon tämä moduuli tuodaan.
#!/usr/bin/perlkäytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
#Määritä paketin nimi
paketti CalPower ;
#Määrittele rakentaja
Initin alla
{
minun $className = siirtää ;
minun $var =
{
määrä => siirtää ,
tehoa => siirtää
} ;
siunaa $var , $className ;
palata $var ;
}
#Määritä menetelmä tehoarvon laskemiseksi
ala Laske
{
minun $var = siirtää ;
minun $tulokseni = $var- > { 'määrä' } ;
varten ( minun $i = 1 ; $i < $var- > { 'voima' } ; $i++ )
{
$tulos = $var- > { 'määrä' } * $tulos ;
}
palata $tulos ;
}
Luo Perl-tiedosto seuraavalla komentosarjalla, johon CalPower-moduuli tuodaan laskemaan teho käyttäjältä otetun syöttöarvon perusteella.
#!/usr/bin/perlkäytä tiukkaa ;
käyttää varoitukset ;
käytä 5.34.0 ;
käytä CalPoweria ;
#Ota perusarvo
Tulosta 'Anna x:n arvo:' ;
chomp ( minun $x = <> ) ;
#Ota voimavalo
Tulosta 'Anna n:n arvo:' ;
chomp ( minun $n = <> ) ;
#Luo luokan objekti
minun $Obj = Käynnistä CalPower ( $x , $n ) ;
#Tulosta laskettu tehoarvo
Tulosta '$x potenssiin $n on' ;
sano $Obj- > Laskea ( ) ;
Lähtö:
Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen:
Johtopäätös
'Bless'-funktion käyttö Perlissä on esitetty tässä opetusohjelmassa luomalla paketti samaan Perl-tiedostoon ja luomalla moduuli eri tiedostoon.