Perl Paraphernalia: Seven Useful Uses of the local operator | Cerca per titolo, autore, parola chiave | ||||||||
Perl Paraphernalia: Seven Useful Uses of the local operator Di Mark Jason Dominus. In Perl, le variabili package sono sempre globali. Globali significa che le variabili package sono sempre visibili ovunque in qualsiasi programma, anche in una qualche altra subroutine definita in un qualche altro file. Un altro tipo di variabili Perl sono le cosiddette variabili lessicali, o variabili private. Queste ultime sono anche chiamate variabili my, perchè vengono sempre dichiarate con my. Una variabile lessicale è totalmente inaccessibile alla gran parte del programma, più precisamente a qualsiasi parte del programma che sia esterna al blocco di codice in cui la variabile è stata dichiarata. Questo blocco di codice viene definito lo scope della variabile ( che potremmo definire "la portata" della variabile ). Se una variabile lessicale non viene definita all'interno di un blocco di codice, il suo scope parte dal punto in cui viene dichiarata ed arriva fino alla fine del file. Le variabili my non sono variabili package. Molti sanno che esiste una funzione local che ha qualcosa a che fare con le variabili private, o lessicali, o my. Di cosa si tratta e che cosa ha a che fare con my? La risposta è semplice, ma bizzarra: my crea una variabile davvero locale, mentre local no. local salva in un posto sicuro il valore corrente di una variabile globale e lo sostituisce con un nuovo valore. Quando il controllo esce dal blocco di codice corrente, local ripristina il valore precedentemente salvato.
|
|||||||||
Perl Paraphernalia: Seven Useful Uses of the local operator | Disclaimer: questo è un link a contenuti ospitati su server esterni. |