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]