Successivo: , Precedente: , Su: Espressioni   [Contenuti][Indice]


6.6 Il luogo fa la differenza

I moderni sistemi prevedono la nozione di localizzazione: un modo per informare il sistema sulla serie di caratteri e sulla lingua locali. Lo standard ISO C definisce una localizzazione di default "C", che è l’ambiente tipico a cui molti programmatori in C sono abituati.

Un tempo, le impostazioni della localizzazione avevano influenza sulla ricerca di corrispondenze tramite regexp, ma ora non è più così (vedi la sezione Intervalli regexp e localizzazione: una lunga e triste storia).

La localizzazione può influire sulla separazione dei record. Per il caso normale di ‘RS = "\n"’, la localizzazione è generalmente irrilevante. Per altri separatori di record di un solo carattere, impostare la variabile d’ambiente ‘LC_ALL=C’ garantisce una migliore efficienza nella lettura dei record. Altrimenti, gawk dovrebbe fare diverse chiamate di funzione, per ogni carattere in input, per determinare la fine del record.

La localizzazione può influire sulla formattazione delle date e delle ore (vedi la sezione Funzioni per gestire marcature temporali). Per esempio, un modo comune per abbreviare la data 4 settembre 2015, negli Stati Uniti è “9/4/15.” In molti paesi dell’Europa, invece, l’abbreviazione è "4.9.15". Quindi, la specifica di formato %x in una localizzazione "US" potrebbe produrre ‘9/4/15’, mentre in una localizzazione "EUROPA", potrebbe produrre ‘4.9.15’.

Secondo POSIX, anche il confronto tra stringhe è influenzato dalla localizzazione (come nelle espressioni regolari). I dettagli sono descritti in Confronto tra stringhe usando l’ordine di collazione locale.

Infine, la localizzazione influenza il valore del separatore decimale usato quando gawk analizza i dati in input. Questo è stato trattato nel dettaglio in Conversione di stringhe e numeri.


Successivo: , Precedente: , Su: Espressioni   [Contenuti][Indice]