Sintaksa:
Sintaksa funkcije »bless« je podana v nadaljevanju. To funkcijo lahko uporabite z enim ali dvema argumentoma. Običajno se ta funkcija uporablja z dvema argumentoma, kjer je prvi argument referenčna spremenljivka, drugi argument pa ime razreda, na katerega se sklicuje prvi argument. Ko je uporabljena z eno vrednostjo argumenta, se referenčna spremenljivka nanaša na trenutni paket.
blagoslovi ref
oz
blagoslovi ref , ime razreda
Različni primeri funkcije Bless().
V tem delu vadnice je prikazana uporaba funkcije bless() na več načinov.
1. primer: uporaba preprostega razreda in predmeta
V tem primeru paket z imenom »Knjiga« vsebuje podprogram, ki deluje kot metoda konstruktorja razreda. Tu se funkcija »blagoslovi« uporablja za povezavo spremenljivk z imenom razreda, ki je na voljo v času klica metode Init().
#!/usr/bin/perl
uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
#Določite paket
paket Knjiga ;
#Definiraj konstruktor
pod Init
{
#Inicializiraj ime razreda
moj $className = premik ;
#Inicializiraj spremenljivke
moje spremenljivke $ = {
'Ime knjige' => premik ,
'AuthorName' => premik ,
'Leto objave' => premik ,
'Cena' => premik
} ;
#Nastavite referenco z referentom
blagoslovi $spremenljivke , $className ;
#Vrni referenčno spremenljivko
vrnitev $spremenljivke ;
}
#Ustvari predmet razreda
moj $bookObj = Začetna knjiga ( 'Učenje Perla' , 'Randal L. Schwartz' , 1993 , Štiri, pet ) ;
#Natisni vrednosti spremenljivk razreda
reči 'Podrobnosti o knjigi:' ;
reči ' \n Ime knjige: $bookObj->{'BookName'}' ;
reči 'Ime avtorja: $bookObj->{'AuthorName'}' ;
reči 'Leto izdaje: $bookObj->{'PublishedYear'}' ;
reči 'Cena: \$ $bookObj->{'Price'}' ;
Izhod:
Po izvedbi skripta se prikaže naslednji rezultat:
Primer 2: Uporaba razreda in predmeta z več metodami
V tem primeru paket z imenom »Products« vsebuje dve metodi. Ena metoda je Init(), ki se uporablja za inicializacijo potrebnih spremenljivk in sklicevanje na spremenljivke z imenom razreda z uporabo funkcije »bless«. Za izračun znižane cene izdelka se uporablja še ena metoda, ki je izračunaj_price().
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
#Določite paket
paket Izdelek ;
moje spremenljivke $ = { } ;
#Definiraj konstruktor
pod Init
{
#Inicializiraj ime razreda
moj $className = premik ;
#Inicializiraj spremenljivke
$spremenljivke = {
'ID' => premik ,
'Ime' => premik ,
'Cena' => premik
} ;
#Nastavite referenco z referentom
blagoslovi $spremenljivke , $className ;
#Vrni referenčno spremenljivko
vrnitev $spremenljivke ;
}
#Declare metoda za izračun diskontne cene
podizračun_cene
{
moja $discount_price = $spremenljivke- > { 'Cena' } - $spremenljivke- > { 'Cena' } * 0,1 ;
reči 'Cena s popustom: \$ $discount_price' ;
}
#Ustvari predmet razreda
moj $proObj = Zaženi izdelek ( '6745' , 'Monitor Dell' , petdeset ) ;
#Natisni vrednosti spremenljivk razreda
reči 'Informacije o izdelku po 10 \% popust: ' ;
reči ' \n ID: $proObj->{'Id'}' ;
reči 'Ime: $proObj->{'Name'}' ;
reči 'Prvotna cena: \$ $proObj->{'Price'}' ;
#Pokliči objektno metodo
$proObj- > izračunaj_ceno ( ) ;
Izhod:
Po izvedbi skripta se prikaže naslednji rezultat:
Primer 3: Uporaba razreda z ustvarjanjem modula
V tem primeru je uporabniško definiran modul Perl ustvarjen v ločeni datoteki z imenom »CalPower.pm«, kjer je uporabljena funkcija »bless«. Ustvarite to datoteko z naslednjim skriptom Perl. Ta modul izračuna 'x n « kjer sta vrednosti »x« in »n« podani iz skripta Perl, v katerega je uvožen ta modul.
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
#Določite ime paketa
paket CalPower ;
#Definiraj konstruktor
pod Init
{
moj $className = premik ;
moj $var =
{
število => premik ,
moč => premik
} ;
blagoslovi $var , $className ;
vrnitev $var ;
}
#Določite metodo za izračun vrednosti moči
sub Izračunaj
{
moj $var = premik ;
moj $rezultat = $var- > { 'število' } ;
za ( moj $i = 1 ; $i < $var- > { 'moč' } ; $i++ )
{
$rezultat = $var- > { 'število' } * $rezultat ;
}
vrnitev $rezultat ;
}
Ustvarite datoteko Perl z naslednjim skriptom, kjer je uvožen modul »CalPower« za izračun moči na podlagi vhodne vrednosti, ki jo vzame uporabnik.
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite CalPower ;
#Vzemite osnovno vrednost
tiskanje 'Vnesite vrednost x:' ;
žvečiti ( moj $x = <> ) ;
#Vzemite moč
tiskanje 'Vnesite vrednost n:' ;
žvečiti ( moj $n = <> ) ;
#Ustvari predmet razreda
moj $Obj = Zaženi CalPower ( $x , $n ) ;
#Natisnite izračunano vrednost moči
tiskanje '$x na potenco $n je ' ;
reci $Obj- > Izračunaj ( ) ;
Izhod:
Po izvedbi skripta se prikaže naslednji rezultat:
Zaključek
Uporaba funkcije »bless« v Perlu je prikazana v tej vadnici z ustvarjanjem paketa v isti datoteki Perl in ustvarjanjem modula v drugi datoteki.