Sintassi:
La sintassi della funzione “bless” è riportata di seguito. Questa funzione può essere utilizzata con uno o due argomenti. Normalmente, questa funzione viene utilizzata con due argomenti in cui il primo argomento è la variabile di riferimento e il secondo argomento è il nome della classe a cui fa riferimento il primo argomento. Quando viene utilizzata con un valore di argomento, la variabile di riferimento si riferisce al pacchetto corrente.
benedica rif
O
benedica rif , nome della classe
Diversi esempi della funzione Bless()
In questa parte del tutorial vengono mostrati gli usi della funzione bless() in diversi modi.
Esempio 1: utilizzo della classe e dell'oggetto semplici
In questo esempio, il pacchetto denominato “Book” contiene una subroutine che funziona come il metodo di costruzione della classe. Qui, la funzione “bless” viene utilizzata per mettere in relazione le variabili con il nome della classe fornito al momento della chiamata al metodo Init().
#!/usr/bin/perl
usare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
#Definire il pacchetto
pacchetto Libro ;
#Definire il costruttore
sotto Init
{
#Inizializza il nome della classe
il mio $nomeclasse = spostare ;
#Inizializza le variabili
le mie variabili $ = {
'NomeLibro' => spostare ,
'Nome dell'autore' => spostare ,
'Anno di pubblicazione' => spostare ,
'Prezzo' => spostare
} ;
#Imposta il riferimento con il referente
benedici $variabili , $nomeclasse ;
#Restituisce la variabile di riferimento
ritorno $variabili ;
}
#Crea un oggetto della classe
il mio $bookObj = Libro iniziale ( 'Imparare il Perl' , 'Randal L. Schwartz' , 1993 , Quattro cinque ) ;
#Stampa i valori delle variabili della classe
Dire 'Dettagli del libro:' ;
Dire ' \N Nome del libro: $bookObj->{'BookName'}' ;
Dire 'Nome dell'autore: $bookObj->{'NomeAutore'}' ;
Dire 'Anno di pubblicazione: $bookObj->{'PublishedYear'}' ;
Dire 'Prezzo: \$ $bookObj->{'Prezzo'}' ;
Produzione:
Dopo l'esecuzione dello script viene visualizzato il seguente output:
Esempio 2: utilizzo della classe e dell'oggetto con più metodi
In questo esempio, il pacchetto denominato 'Prodotti' contiene due metodi. Un metodo è Init() che viene utilizzato per inizializzare le variabili necessarie e fare riferimento alle variabili con il nome della classe utilizzando la funzione “bless”. Un altro metodo,culate_price(), viene utilizzato per calcolare il prezzo scontato del prodotto.
#!/usr/bin/perlusare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
#Definire il pacchetto
pacchetto Prodotto ;
le mie variabili $ = { } ;
#Definire il costruttore
sotto Init
{
#Inizializza il nome della classe
il mio $nomeclasse = spostare ;
#Inizializza le variabili
$variabili = {
'Id' => spostare ,
'Nome' => spostare ,
'Prezzo' => spostare
} ;
#Imposta il riferimento con il referente
benedici $variabili , $nomeclasse ;
#Restituisce la variabile di riferimento
ritorno $variabili ;
}
Metodo #Dichiarare per calcolare il prezzo scontato
sottocalcola_prezzo
{
il mio $discount_price = $variabili- > { 'Prezzo' } - $variabili- > { 'Prezzo' } * 0,1 ;
Dire 'Prezzo scontato: \$ $prezzo_sconto' ;
}
#Crea un oggetto della classe
il mio $proObj = Prodotto iniziale ( '6745' , 'Monitor Dell' , cinquanta ) ;
#Stampa i valori delle variabili della classe
Dire 'Informazioni sul prodotto dopo le 10 \% sconto: ' ;
Dire ' \N ID: $proObj->{'Id'}' ;
Dire 'Nome: $proObj->{'Nome'}' ;
Dire 'Prezzo originale: \$ $proObj->{'Prezzo'}' ;
#Chiama il metodo dell'oggetto
$proObj- > calcola_prezzo ( ) ;
Produzione:
Dopo l'esecuzione dello script viene visualizzato il seguente output:
Esempio 3: utilizzo della classe creando un modulo
In questo esempio, il modulo Perl definito dall'utente viene creato in un file separato denominato 'CalPower.pm' dove viene utilizzata la funzione 'bless'. Crea questo file con il seguente script Perl. Questo modulo calcola il “x N ' dove i valori di 'x' e 'n' sono forniti dallo script Perl in cui viene importato questo modulo.
#!/usr/bin/perlusare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
#Definire il nome del pacchetto
pacchetto CalPower ;
#Definire il costruttore
sotto Init
{
il mio $nomeclasse = spostare ;
il mio $var =
{
numero => spostare ,
energia => spostare
} ;
benedici $var , $nomeclasse ;
ritorno $var ;
}
#Definire il metodo per calcolare il valore della potenza
sub Calcola
{
il mio $var = spostare ;
il mio $risultato = $var- > { 'numero' } ;
per ( il mio $i = 1 ; $i < $var- > { 'energia' } ; $i++ )
{
$risultato = $var- > { 'numero' } * $risultato ;
}
ritorno $risultato ;
}
Creare un file Perl con il seguente script in cui viene importato il modulo 'CalPower' per calcolare la potenza in base al valore di input preso dall'utente.
#!/usr/bin/perlusare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
utilizzare CalPower ;
#Prendi il valore base
stampa 'Inserisci il valore di x:' ;
masticare ( i miei $x = <> ) ;
#Prendi la valle del potere
stampa 'Inserisci il valore di n:' ;
masticare ( i miei $n = <> ) ;
#Crea un oggetto della classe
il mio $Obj = Inizializza CalPower ( $x , $n ) ;
#Stampa il valore della potenza calcolata
stampa '$x elevato alla potenza $n è ' ;
dì $Obj- > Calcolare ( ) ;
Produzione:
Dopo l'esecuzione dello script viene visualizzato il seguente output:
Conclusione
Gli usi della funzione 'bless' in Perl sono mostrati in questo tutorial creando un pacchetto nello stesso file Perl e creando un modulo in un file diverso.