Successivo: Gestione interna dei nomi, Precedente: Cambiare lo spazio-dei-nomi, Su: Spazi-dei-nomi [Contenuti][Indice]
Alcune regole vanno seguite nell’attribuire i nomi a uno spazio-dei-nomi e alle sue componenti.
awk (come
if o for), o il nome di una qualsiasi funzione predefinita
(come sin() o gsub()) come una qualsiasi delle parti di un nome
nome qualificato.
Quindi, il codice seguente produce un errore sintattico:
@namespace "example"
function gsub(str, pat, result) { … }
awk, i nomi delle ulteriori funzioni
predefinite disponibili in gawk
(come gensub() o strftime()) possono
essere usate come nomi di componente.
Lo stesso insieme di nomi può essere usato come nome di uno
spazio-dei-nomi, sebbene farlo possa ingenerare confusione.
gawk possono
essere chiamate all’esterno dello spazio-dei-nomi awk utilizzando
nomi qualificati. Per esempio, awk::systime().
Ecco un esempio abbastanza banale a dimostrazione di questa regola e
della regola precedente:
BEGIN {
print "nello spazio-dei-nomi awk, systime() =", systime()
}
@namespace "testing"
function systime()
{
print "nello spazio-dei-nomi testing, systime() =", awk::systime()
}
BEGIN {
systime()
}
Se lo si esegue, l’output prodotto è di questo tipo:
$ gawk -f systime.awk -| nello spazio-dei-nomi awk, systime() = 1500488503 -| nello spazio-dei-nomi testing, systime() = 1500488503
gawk possono essere usati:
NF::NR è un nome valido, anche se non sembra una scelta di
nomi molto utile.
Successivo: Gestione interna dei nomi, Precedente: Cambiare lo spazio-dei-nomi, Su: Spazi-dei-nomi [Contenuti][Indice]