|
Benutzerdefinierte Funktionen
In awk (genauer nawk, gawk) können auch Funktionen definiert werden. Die
Definitionen werden üblicherweise am Ende des Programms notiert. Deklarationen sind nicht nötig. Eine Funktionsdefinition genügt der Formfunction name(par1,par2, ...) {Anweisungen} Die öffnende Klammer muß direkt auf den Funktionsnamen folgen.Der Funktionsname muß eindeutig gewählt werden.
Die Parameterliste inst eine Folge von Variablennamen, die durch Komma getrennt
sind. Parameterübergabe erfolgt bei skalaren Variablen als call-by-value,
bei Arrays hingegen als call-by-reference. Daher lassen sich die Array-Inhalte
innerhalb der Funktion ändern. Parameter sind lokale Variablen, globale
Variable gleichen Namnes sind daher in der Funktion nicht zugreifbar.
Benutzerdefinierte Funktionen sind typlos, die gleiche Funktion kann ganze Zahlen,
Gleitpunktzahlen oder Strings zurückgeben. Die Funktione wird beendet, wenn die
letzte Anweisung abgearbeitet wurde. Üblicherweise wir eine Funktion
mit der Anweisung
return [Ausdruck]
beendet. Ist ein Ausdruck angegeben, wird der Wert dieses Ausdrucks an das
aufrufende Programm zurückgegeben.
Innerhalb der Funktion neu eingeführte Variablen sind global.
Die Funktionsargumente sind nur im Funktionsrumpf gültig. Neue Variablen,
die im Rumpf definiert werden, sind global gültig.
Werden beim Aufruf weniger Parameter als vorgeschrieben angegeben,
so werden die fehlenden Parameter mit "" initialisiert.
|
|
|