Syntaks:
Syntaksen for 'velsigne'-funktionen er givet i det følgende. Denne funktion kan bruges med et argument eller to argumenter. Normalt bruges denne funktion med to argumenter, hvor det første argument er referencevariablen, og det andet argument er klassenavnet, som det første argument refererer til. Når den bruges med én argumentværdi, refererer referencevariablen til den aktuelle pakke.
velsigne ref
eller
velsigne ref , klassenavn
Forskellige eksempler på Bless()-funktionen
Brugen af bless()-funktionen på flere måder er vist i denne del af selvstudiet.
Eksempel 1: Brug af den simple klasse og objekt
I dette eksempel indeholder pakken med navnet 'Bog' en underrutine, der fungerer som klassens konstruktørmetode. Her bruges 'bless'-funktionen til at relatere variablerne til det klassenavn, der er angivet på tidspunktet for kald af Init()-metoden.
#!/usr/bin/perl
brug strenge ;
brug advarsler ;
brug 5.34.0 ;
#Definer pakken
pakkebog ;
#Definer konstruktøren
under Init
{
#Initialiser klassenavnet
mit $className = flytte ;
#Initialiser variablerne
mine $variabler = {
'Bognavn' => flytte ,
'AuthorName' => flytte ,
'Udgivelsesår' => flytte ,
'Pris' => flytte
} ;
#Indstil referencen med referencen
velsigne $variabler , $className ;
#Returner referencevariablen
Vend tilbage $variabler ;
}
#Opret et objekt i klassen
min $bookObj = Init bog ( 'Lære Perl' , 'Randal L. Schwartz' , 1993 , Fire, fem ) ;
#Udskriv værdierne af klassevariablerne
sige 'Bogdetaljer:' ;
sige ' \n Bognavn: $bookObj->{'BookName'}' ;
sige 'Forfatternavn: $bookObj->{'AuthorName'}' ;
sige 'Udgivelsesår: $bookObj->{'PublishedYear'}' ;
sige 'Pris: \$ $bookObj->{'Price'}' ;
Produktion:
Følgende output vises efter eksekvering af scriptet:
Eksempel 2: Brug af klassen og objektet med flere metoder
I dette eksempel indeholder pakken med navnet 'Produkter' to metoder. En metode er Init(), som bruges til at initialisere de nødvendige variabler og henvise til variablerne med klassenavnet ved hjælp af 'bless'-funktionen. En anden metode, som er calculate_price() bruges til at beregne rabatprisen på produktet.
#!/usr/bin/perlbrug strenge ;
brug advarsler ;
brug 5.34.0 ;
#Definer pakken
pakke produkt ;
mine $variabler = { } ;
#Definer konstruktøren
under Init
{
#Initialiser klassenavnet
mit $className = flytte ;
#Initialiser variablerne
$variabler = {
'Id' => flytte ,
'Navn' => flytte ,
'Pris' => flytte
} ;
#Indstil referencen med referencen
velsigne $variabler , $className ;
#Returner referencevariablen
Vend tilbage $variabler ;
}
#Declare metode til at beregne rabatpris
underberegn_pris
{
min $rabatpris = $variabler- > { 'Pris' } - $variabler- > { 'Pris' } * 0,1 ;
sige 'Udsalgspris: \$ $rabat_pris' ;
}
#Opret et objekt i klassen
min $proObj = Init produkt ( '6745' , 'Dell skærm' , halvtreds ) ;
#Udskriv værdierne af klassevariablerne
sige 'Produktoplysninger efter 10 \% rabat: ' ;
sige ' \n Id: $proObj->{'Id'}' ;
sige 'Navn: $proObj->{'Name'}' ;
sige 'Original pris: \$ $proObj->{'Price'}' ;
#Kald objektmetoden
$proObj- > beregne_pris ( ) ;
Produktion:
Følgende output vises efter eksekvering af scriptet:
Eksempel 3: Brug af klassen ved at oprette et modul
I dette eksempel oprettes det brugerdefinerede Perl-modul i en separat fil med navnet 'CalPower.pm', hvor 'velsigne'-funktionen bruges. Opret denne fil med følgende Perl-script. Dette modul beregner 'x n ' hvor værdierne 'x' og 'n' er angivet fra Perl-scriptet, hvor dette modul er importeret.
#!/usr/bin/perlbrug strenge ;
brug advarsler ;
brug 5.34.0 ;
#Definer pakkenavnet
pakke CalPower ;
#Definer konstruktøren
under Init
{
mit $className = flytte ;
min $var =
{
nummer => flytte ,
strøm => flytte
} ;
velsigne $var , $className ;
Vend tilbage $var ;
}
#Definer metoden til at beregne effektværdien
under Beregn
{
min $var = flytte ;
mit $resultat = $var- > { 'nummer' } ;
til ( min $i = 1 ; $i < $var- > { 'strøm' } ; $i++ )
{
$resultat = $var- > { 'nummer' } * $resultat ;
}
Vend tilbage $resultat ;
}
Opret en Perl-fil med følgende script, hvor 'CalPower'-modulet importeres for at beregne effekten baseret på den inputværdi, der tages fra brugeren.
#!/usr/bin/perlbrug strenge ;
brug advarsler ;
brug 5.34.0 ;
bruge CalPower ;
#Tag basisværdien
Print 'Indtast værdien af x:' ;
chomp ( min $x = <> ) ;
#Tag power valen
Print 'Indtast værdien af n:' ;
chomp ( min $n = <> ) ;
#Opret et objekt i klassen
min $Obj = Start CalPower ( $x , $n ) ;
#Udskriv den beregnede effektværdi
Print '$x i potensen $n er' ;
sig $Obj- > Beregn ( ) ;
Produktion:
Følgende output vises efter eksekvering af scriptet:
Konklusion
Brugen af 'velsigne'-funktionen i Perl er vist i denne tutorial ved at oprette en pakke i den samme Perl-fil og oprette et modul i en anden fil.