AWK - Funzioni definite dall'utente

Le funzioni sono elementi costitutivi di base di un programma. AWK ci consente di definire le nostre funzioni. Un programma di grandi dimensioni può essere suddiviso in funzioni e ciascuna funzione può essere scritta / testata in modo indipendente. Fornisce la riutilizzabilità del codice.

Di seguito è riportato il formato generale di una funzione definita dall'utente:

Sintassi

function function_name(argument1, argument2, ...) { 
   function body
}

In questa sintassi, il function_nameè il nome della funzione definita dall'utente. Il nome della funzione deve iniziare con una lettera e il resto dei caratteri può essere qualsiasi combinazione di numeri, caratteri alfabetici o trattino basso. Le parole di riserva di AWK non possono essere utilizzate come nomi di funzioni.

Le funzioni possono accettare più argomenti separati da virgola. Gli argomenti non sono obbligatori. È inoltre possibile creare una funzione definita dall'utente senza alcun argomento.

function body consiste in una o più istruzioni AWK.

Scriviamo due funzioni che calcolano il numero minimo e massimo e chiamiamo queste funzioni da un'altra funzione chiamata main. Ilfunctions.awk il file contiene -

Esempio

# Returns minimum number
function find_min(num1, num2){
   if (num1 < num2)
   return num1
   return num2
}
# Returns maximum number
function find_max(num1, num2){
   if (num1 > num2)
   return num1
   return num2
}
# Main function
function main(num1, num2){
   # Find minimum number
   result = find_min(10, 20)
   print "Minimum =", result
  
   # Find maximum number
   result = find_max(10, 20)
   print "Maximum =", result
}
# Script execution starts here
BEGIN {
   main(10, 20)
}

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

Minimum = 10
Maximum = 20