Syntax:
Syntaxe funkce „bless“ je uvedena níže. Tuto funkci lze použít s jedním nebo dvěma argumenty. Normálně se tato funkce používá se dvěma argumenty, kde první argument je referenční proměnná a druhý argument je název třídy, na který odkazuje první argument. Když je použita s jednou hodnotou argumentu, referenční proměnná odkazuje na aktuální balíček.
požehnat čj
nebo
požehnat čj , jméno třídy
Různé příklady funkce Bless().
V této části tutoriálu je ukázáno použití funkce bless() několika způsoby.
Příklad 1: Použití jednoduché třídy a objektu
V tomto příkladu balíček s názvem „Kniha“ obsahuje podprogram, který funguje jako metoda konstruktoru třídy. Zde se funkce „bless“ používá ke spojení proměnných s názvem třídy, který je zadán v době volání metody Init().
#!/usr/bin/perl
používat přísné ;
použití varování ;
použijte 5.34.0 ;
#Definujte balíček
balíček Kniha ;
#Definujte konstruktor
pod Init
{
#Inicializujte název třídy
moje $className = posun ;
#Inicializovat proměnné
moje $proměnné = {
'BookName' => posun ,
'AuthorName' => posun ,
'PublishedYear' => posun ,
'Cena' => posun
} ;
#Nastavte referenci s referentem
požehnej $proměnným , $className ;
#Vraťte referenční proměnnou
vrátit se $proměnné ;
}
#Vytvořte objekt třídy
moje $bookObj = Úvodní kniha ( 'Učíme se Perl' , 'Randal L. Schwartz' , 1993 , Čtyři pět ) ;
#Vytiskněte hodnoty proměnných třídy
říci 'Podrobnosti o knize:' ;
říci ' \n Název knihy: $bookObj->{'BookName'}' ;
říci 'Jméno autora: $bookObj->{'AuthorName'}' ;
říci 'Published Year: $bookObj->{'PublishedYear'}' ;
říci 'Cena: \$ $bookObj->{'Price'}' ;
Výstup:
Po spuštění skriptu se zobrazí následující výstup:
Příklad 2: Použití třídy a objektu s více metodami
V tomto příkladu obsahuje balíček s názvem „Produkty“ dvě metody. Jednou z metod je Init(), která se používá k inicializaci nezbytných proměnných a odkazování na proměnné s názvem třídy pomocí funkce „bless“. K výpočtu diskontní ceny produktu se používá další metoda, která je kalkulovat_cena().
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
#Definujte balíček
balíček Produkt ;
moje $proměnné = { } ;
#Definujte konstruktor
pod Init
{
#Inicializujte název třídy
moje $className = posun ;
#Inicializovat proměnné
$proměnné = {
'ID' => posun ,
'Název' => posun ,
'Cena' => posun
} ;
#Nastavte referenci s referentem
požehnej $proměnným , $className ;
#Vraťte referenční proměnnou
vrátit se $proměnné ;
}
#Declare metodu výpočtu diskontní ceny
pod výpočet_ceny
{
moje $discount_price = $variables- > { 'Cena' } - $proměnné- > { 'Cena' } * 0,1 ;
říci 'Sleva: \$ $discount_price' ;
}
#Vytvořte objekt třídy
můj $proObj = Init Product ( '6745' , 'Monitor Dell' , padesáti ) ;
#Vytiskněte hodnoty proměnných třídy
říci 'Informace o produktu po 10 \% sleva: ' ;
říci ' \n Id: $proObj->{'Id'}' ;
říci 'Jméno: $proObj->{'Name'}' ;
říci 'Původní cena: \$ $proObj->{'Price'}' ;
#Zavolejte metodu objektu
$proObj- > vypočítat_cenu ( ) ;
Výstup:
Po spuštění skriptu se zobrazí následující výstup:
Příklad 3: Použití třídy vytvořením modulu
V tomto příkladu je uživatelsky definovaný modul Perl vytvořen v samostatném souboru s názvem „CalPower.pm“, kde je použita funkce „bless“. Vytvořte tento soubor pomocí následujícího skriptu Perl. Tento modul vypočítá „x n “ kde hodnoty „x“ a „n“ jsou poskytnuty ze skriptu Perl, kam je tento modul importován.
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
#Definujte název balíčku
balíček CalPower ;
#Definujte konstruktor
pod Init
{
moje $className = posun ;
moje $var =
{
číslo => posun ,
Napájení => posun
} ;
požehnat $var , $className ;
vrátit se $var ;
}
# Definujte metodu výpočtu hodnoty výkonu
pod Vypočítat
{
moje $var = posun ;
můj $výsledek = $var- > { 'číslo' } ;
pro ( moje $i = 1 ; $i < $var- > { 'Napájení' } ; $i++ )
{
$výsledek = $var- > { 'číslo' } * $výsledek ;
}
vrátit se $výsledek ;
}
Vytvořte soubor Perl pomocí následujícího skriptu, do kterého je importován modul „CalPower“ pro výpočet výkonu na základě vstupní hodnoty převzaté od uživatele.
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte CalPower ;
#Vezmi základní hodnotu
tisk 'Zadejte hodnotu x:' ;
žvýkat ( můj x $ = <> ) ;
#Vezmi si mocninu
tisk 'Zadejte hodnotu n:' ;
žvýkat ( můj $n = <> ) ;
#Vytvořte objekt třídy
můj $Obj = Spusťte CalPower ( x $ , $ n ) ;
#Vytiskněte vypočítanou hodnotu výkonu
tisk '$x na mocninu $n je' ;
řekni $Obj- > Vypočítat ( ) ;
Výstup:
Po spuštění skriptu se zobrazí následující výstup:
Závěr
Použití funkce „bless“ v Perlu je ukázáno v tomto tutoriálu vytvořením balíčku ve stejném souboru Perl a vytvořením modulu v jiném souboru.