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


Parte II:
Risoluzione di problemi con awk


10 Una libreria di funzioni awk

Funzioni definite dall’utente descrive come scrivere le proprie funzioni awk personali. Scrivere funzioni è importante, perché consente di incapsulare in un unico contenitore algoritmi e azioni di programma. Semplifica la programmazione, rendendo lo sviluppo di un programma più gestibile, e rendendo i programmi più leggibili.

Nel loro autorevole libro del 1976, Software Tools,66 Brian Kernighan e P.J. Plauger hanno scritto:

A programmare bene non s’impara dai concetti generali, ma vedendo come programmi complessi possono essere resi puliti, facili da leggere, facili da manutenere e modificare, strutturati in modo comprensibile, efficienti e affidabili, applicando il buon senso e delle buone pratiche di programmazione. Lo studio attento e l’imitazione di buoni programmi conduce a una migliore scrittura.

In effetti, loro reputavano quest’idea tanto importante da mettere questa frase sulla copertina del libro. Poiché credo fermamente che la loro affermazione sia corretta, questo capitolo e Programmi utili scritti in awk forniscono una corposa raccolta di codice da leggere e, si spera, da cui imparare.

Questo capitolo illustra una libreria di utili funzioni awk. Molti dei programmi descritti nel seguito di questo Documento usano queste funzioni. Le funzioni sono illustrate progressivamente, dalla più semplice alla più complessa.

Estrarre programmi da un file sorgente Texinfo illustra un programma che si può usare per estrarre il codice sorgente degli esempi di funzioni di libreria e di programmi dal sorgente Texinfo di questo Documento. (Questo è già stato fatto durante la preparazione della distribuzione di gawk.)

Chi avesse scritto una o più funzioni awk utili e di uso generale, e volesse metterle a disposizione della comunità degli utenti di awk, può leggere le informazioni contenute in Come collaborare.

I programmi contenuti in questo capitolo e in Programmi utili scritti in awk, utilizzano anche le funzionalità specifiche di gawk. Riscrivere questi programmi per implementazioni di awk diverse è piuttosto semplice:


Note a piè di pagina

(66)

Purtroppo, a distanza di oltre 35 anni, molte delle lezioni impartite da questo libro devono ancora essere apprese da un gran numero di programmatori professionisti.

(67)

I risultati non sono identici. L’output del record trasformato sarà tutto in minuscolo, mentre IGNORECASE preserva il contenuto originale del record in input.


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