Sommaire

Fonctions utilisateur

Syntaxe

Une fonction peut recevoir de 0 à n arguments et retourner une valeur explicite. Les fonctions peuvent être définies au-dessus ou au-dessous de leur appel.

Définition d’une fonction :

function nom_fonction (param1, param2 ... paramn) { 
 
     return valeur 
}

Les paramètres (param1, param2 ... paramn) sont des variables locales. Toute autre variable définie dans la fonction est globale.

Appel d’une fonction :

valeur_retournee=nom_fonction(val1, val2, ..., valn)

Il ne doit pas y avoir d’espace entre le nom de la fonction et la parenthèse ouvrante.

Exemple

Le script transfert.awk génère, à partir du fichier tel3.txt, une sortie écran qui reprend le format du fichier traité, mais en ajoutant "01." devant le numéro de téléphone des clients localisés en région parisienne et "99." devant le numéro des clients localisés en province. La fonction transfert reçoit en argument le code postal et le numéro de téléphone actuel et retourne la nouvelle valeur du numéro de téléphone.

$ nl transfert.awk 
     1  # Fonction qui fait passer le no de telephone de 8 a 10 chiffres 
     2  function transfert (cp , tel) { 
     3  
     4    # Region parisienne 
     5    if ( cp ~ /ˆ(7[578]|9[1-5])/ )  
     6      prefixe="01." 
     7    else          # Autre region 
     8      prefixe="99." 
     9 
    10    # Les 2 valeurs sont concatenees  ...