Successivo: , Precedente: , Su: Spazi-dei-nomi   [Contenuti][Indice]


15.6 Come i nomi sono gestiti internamente

Per compatibilità all’indietro, tutti gli identificatvi nello spazio-dei-nomi awk sono memorizzati internamente come identificativi senza qualifica (ossia, senza il prefisso ‘awk::’). Ciò ha importanza principalmente quando tali identificativi sono usati come indici per i vettori SYMTAB, FUNCTAB, e PROCINFO["identifiers"] (vedi la sezione Variabili predefinite con cui awk fornisce informazioni), e quando sono usati per chiamate indirette di funzioni (vedi la sezione Chiamate indirette di funzione).

Nella codifica di programmi, per far riferimento a variabili e funzioni appartenenti allo spazio-dei-nomi awk da un altro spazio-dei-nomi è tuttavia necessario utilizzare il prefisso ‘awk::’. Per esempio:

@namespace "awk"          Questo è lo spazio-dei-nomi di default

BEGIN {
    Titolo = "Il mio rapporto"   Il nome qualificato è awk::Titolo
}

@namespace "rapporto"    Adesso lo spazio-dei-nomi è rapporto

function calcola()        Il nome vero di questa funzione è rapporto::compute()
{
    print awk::Titolo     Per stampare SYMTAB["Titolo"]
    …
}