Składnia:
Poniżej podana jest składnia funkcji „błogosław”. Funkcji tej można używać z jednym lub dwoma argumentami. Zwykle tej funkcji używa się z dwoma argumentami, gdzie pierwszym argumentem jest zmienna referencyjna, a drugim argumentem jest nazwa klasy, do której odwołuje się pierwszy argument. Gdy jest używana z jedną wartością argumentu, zmienna referencyjna odnosi się do bieżącego pakietu.
pobłogosław ref
Lub
pobłogosław ref , Nazwa klasy
Różne przykłady funkcji Bless().
W tej części samouczka pokazano różne zastosowania funkcji bless().
Przykład 1: Użycie prostej klasy i obiektu
W tym przykładzie pakiet o nazwie „Book” zawiera podprogram, który działa podobnie jak metoda konstruktora klasy. W tym przypadku funkcja „bless” służy do powiązania zmiennych z nazwą klasy podaną w momencie wywołania metody Init().
#!/usr/bin/perl
użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
#Zdefiniuj pakiet
Pakiet Książka ;
#Zdefiniuj konstruktora
pod Init
{
#Zainicjuj nazwę klasy
moja nazwa klasy $ = zmiana ;
#Zainicjuj zmienne
moje zmienne $ = {
„Nazwa Książki” => zmiana ,
'Imię autora' => zmiana ,
„Rok publikacji” => zmiana ,
'Cena' => zmiana
} ;
#Ustaw odniesienie za pomocą odniesienia
pobłogosław zmienne $ , $Nazwa klasy ;
#Zwróć zmienną referencyjną
powrót $zmienne ;
}
#Utwórz obiekt klasy
mój $bookObj = Książka Inicjatywa ( „Nauka Perla” , „Randal L. Schwartz” , 1993 , Cztery pięć ) ;
#Wydrukuj wartości zmiennych klasy
mowić „Szczegóły książki:” ;
mowić ' \N Nazwa książki: $bookObj->{'BookName'}' ;
mowić „Nazwisko autora: $bookObj->{'AuthorName'}” ;
mowić „Rok publikacji: $bookObj->{'PublishedYear'}” ;
mowić 'Cena: \$ $bookObj->{'Cena'}' ;
Wyjście:
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:
Przykład 2: Używanie klasy i obiektu z wieloma metodami
W tym przykładzie pakiet o nazwie „Produkty” zawiera dwie metody. Jedną z metod jest Init(), która służy do inicjowania niezbędnych zmiennych i odwoływania się do zmiennych z nazwą klasy za pomocą funkcji „błogosław”. Do obliczenia obniżonej ceny produktu używana jest inna metoda, czyli Calc_price().
#!/usr/bin/perlużyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
#Zdefiniuj pakiet
Pakiet Produktu ;
moje zmienne $ = { } ;
#Zdefiniuj konstruktora
pod Init
{
#Zainicjuj nazwę klasy
moja nazwa klasy $ = zmiana ;
#Zainicjuj zmienne
$zmienne = {
'ID' => zmiana ,
'Nazwa' => zmiana ,
'Cena' => zmiana
} ;
#Ustaw odniesienie za pomocą odniesienia
pobłogosław zmienne $ , $Nazwa klasy ;
#Zwróć zmienną referencyjną
powrót $zmienne ;
}
#Declare metoda obliczania ceny rabatowej
sub oblicz_cenę
{
moja cena $discount_ = $zmienne- > { 'Cena' } - $zmienne- > { 'Cena' } * 0,1 ;
mowić 'Promocyjna cena: \$ $rabatowa cena” ;
}
#Utwórz obiekt klasy
mój $proObj = Produkt początkowy ( „6745” , „Monitor Della” , pięćdziesiąt ) ;
#Wydrukuj wartości zmiennych klasy
mowić „Informacje o produkcie po 10 \% rabat: ' ;
mowić ' \N Identyfikator: $proObj->{'Id'}' ;
mowić „Nazwa: $proObj->{'Nazwa'}” ;
mowić 'Cena oryginalna: \$ $proObj->{'Cena'}' ;
#Wywołaj metodę obiektu
$proObj- > oblicz_cenę ( ) ;
Wyjście:
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:
Przykład 3: Użycie klasy poprzez utworzenie modułu
W tym przykładzie zdefiniowany przez użytkownika moduł Perla jest tworzony w oddzielnym pliku o nazwie „CalPower.pm”, w którym używana jest funkcja „błogosław”. Utwórz ten plik za pomocą następującego skryptu Perla. Moduł ten oblicza wartość „x N „ gdzie wartości „x” i „n” pochodzą ze skryptu Perla, z którego importowany jest ten moduł.
#!/usr/bin/perlużyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
#Zdefiniuj nazwę pakietu
pakiet CalPower ;
#Zdefiniuj konstruktora
pod Init
{
moja nazwa klasy $ = zmiana ;
mój $var =
{
numer => zmiana ,
moc => zmiana
} ;
pobłogosław $var , $Nazwa klasy ;
powrót $zmienna ;
}
#Określ metodę obliczania wartości mocy
pod Oblicz
{
mój $var = zmiana ;
mój $wynik = $zmienna- > { 'numer' } ;
Do ( moje $i = 1 ; $tj < $zmienna- > { 'moc' } ; $i++ )
{
$wynik = $zmienna- > { 'numer' } * $wynik ;
}
powrót $wynik ;
}
Utwórz plik Perl z następującym skryptem, do którego zostanie zaimportowany moduł „CalPower” w celu obliczenia mocy na podstawie wartości wejściowej pobranej od użytkownika.
#!/usr/bin/perlużyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj CalPowera ;
#Weź wartość bazową
wydrukować „Wprowadź wartość x:” ;
przegryźć ( moje x dolarów = <> ) ;
#Weź dolinę mocy
wydrukować „Wprowadź wartość n:” ;
przegryźć ( moje $n = <> ) ;
#Utwórz obiekt klasy
mój $Obj = Uruchom CalPower ( $x , $n ) ;
#Wydrukuj obliczoną wartość mocy
wydrukować „$x do potęgi $n wynosi” ;
powiedz $Obj- > Oblicz ( ) ;
Wyjście:
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:
Wniosek
W tym samouczku pokazano wykorzystanie funkcji „błogosław” w Perlu poprzez utworzenie pakietu w tym samym pliku Perla i utworzenie modułu w innym pliku.