Syntaks:
Syntaksen til 'velsigne'-funksjonen er gitt i det følgende. Denne funksjonen kan brukes med ett argument eller to argumenter. Normalt brukes denne funksjonen med to argumenter der det første argumentet er referansevariabelen og det andre argumentet er klassenavnet som det første argumentet refererer til. Når den brukes med én argumentverdi, refererer referansevariabelen til gjeldende pakke.
velsigne ref
eller
velsigne ref , klassenavn
Ulike eksempler på Bless()-funksjonen
Bruken av bless()-funksjonen på flere måter vises i denne delen av opplæringen.
Eksempel 1: Bruk av den enkle klassen og objektet
I dette eksemplet inneholder pakken med navnet 'Book' en subrutine som fungerer som konstruktørmetoden til klassen. Her brukes 'velsigne'-funksjonen for å relatere variablene med klassenavnet som ble oppgitt på tidspunktet for oppkalling av Init()-metoden.
#!/usr/bin/perl
bruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
#Definer pakken
pakkebok ;
#Definer konstruktøren
under Init
{
#Initialiser klassenavnet
mitt $className = skifte ;
#Initialiser variablene
mine $variabler = {
'Boknavn' => skifte ,
'AuthorName' => skifte ,
'Published Year' => skifte ,
'Pris' => skifte
} ;
#Angi referansen med referansen
velsigne $variabler , $className ;
#Returner referansevariabelen
komme tilbake $variabler ;
}
#Lag et objekt av klassen
min $bookObj = Init bok ( 'Lære Perl' , 'Randal L. Schwartz' , 1993 , Fire fem ) ;
#Skriv ut verdiene til klassevariablene
si 'Bokdetaljer:' ;
si ' \n Boknavn: $bookObj->{'BookName'}' ;
si 'Forfatternavn: $bookObj->{'AuthorName'}' ;
si 'Published Year: $bookObj->{'PublishedYear'}' ;
si 'Pris: \$ $bookObj->{'Price'}' ;
Produksjon:
Følgende utdata vises etter utføring av skriptet:
Eksempel 2: Bruk av klassen og objektet med flere metoder
I dette eksemplet inneholder pakken med navnet 'Produkter' to metoder. En metode er Init() som brukes til å initialisere de nødvendige variablene og referere til variablene med klassenavnet ved å bruke 'velsigne'-funksjonen. En annen metode som er calculate_price() brukes til å beregne rabattprisen på produktet.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
#Definer pakken
pakke Produkt ;
mine $variabler = { } ;
#Definer konstruktøren
under Init
{
#Initialiser klassenavnet
mitt $className = skifte ;
#Initialiser variablene
$variabler = {
'Id' => skifte ,
'Navn' => skifte ,
'Pris' => skifte
} ;
#Angi referansen med referansen
velsigne $variabler , $className ;
#Returner referansevariabelen
komme tilbake $variabler ;
}
#Declare metode for å beregne rabattpris
under beregne_pris
{
min $rabattpris = $variabler- > { 'Pris' } - $variabler- > { 'Pris' } * 0,1 ;
si 'Avslags pris: \$ $rabatt_pris' ;
}
#Lag et objekt av klassen
min $proObj = Init produkt ( '6745' , 'Dell-skjerm' , femti ) ;
#Skriv ut verdiene til klassevariablene
si 'Produktinformasjon etter 10 \% rabatt: ' ;
si ' \n Id: $proObj->{'Id'}' ;
si 'Navn: $proObj->{'Name'}' ;
si 'Original pris: \$ $proObj->{'Price'}' ;
#Kall objektmetoden
$proObj- > beregne_pris ( ) ;
Produksjon:
Følgende utdata vises etter utføring av skriptet:
Eksempel 3: Bruke klassen ved å lage en modul
I dette eksemplet er den brukerdefinerte Perl-modulen opprettet i en egen fil kalt 'CalPower.pm' hvor 'velsigne'-funksjonen brukes. Lag denne filen med følgende Perl-skript. Denne modulen beregner 'x n ' der verdiene for 'x' og 'n' er gitt fra Perl-skriptet der denne modulen er importert.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
#Definer pakkenavnet
pakken CalPower ;
#Definer konstruktøren
under Init
{
mitt $className = skifte ;
min $var =
{
Antall => skifte ,
makt => skifte
} ;
velsigne $var , $className ;
komme tilbake $var ;
}
#Definer metoden for å beregne effektverdien
sub Beregn
{
min $var = skifte ;
mitt $resultat = $var- > { 'Antall' } ;
til ( min $i = 1 ; $i < $var- > { 'makt' } ; $i++ )
{
$resultat = $var- > { 'Antall' } * $resultat ;
}
komme tilbake $resultat ;
}
Lag en Perl-fil med følgende skript hvor 'CalPower'-modulen importeres for å beregne kraften basert på inngangsverdien som er hentet fra brukeren.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
bruk CalPower ;
#Ta basisverdien
skrive ut 'Skriv inn verdien av x:' ;
chomp ( min $x = <> ) ;
#Ta kraftventilen
skrive ut 'Skriv inn verdien av n:' ;
chomp ( min $n = <> ) ;
#Lag et objekt av klassen
min $Obj = Start CalPower ( $x , $n ) ;
#Skriv ut den beregnede effektverdien
skrive ut '$x i potensen $n er' ;
si $Obj- > Regne ut ( ) ;
Produksjon:
Følgende utdata vises etter utføring av skriptet:
Konklusjon
Bruken av 'velsigne'-funksjonen i Perl vises i denne opplæringen ved å lage en pakke i den samme Perl-filen og lage en modul i en annen fil.