next up previous index
Következő: 15.8.10 PÉLDÁK Fel: 15.8 awk(1) Előző: 15.8.8.14 Sztring konstansok   Index

15.8.9 FÜGGVÉNYEK

Az awk függvényei a következőképpen definiálandók:
function név(paramáterlista){ utasítások }
A függvények végrehajtása akár mintából, akár tevékenységből való meghívásukkor történik meg. A függvényhívásokban megadott aktuális paraméterek a függvényekben deklarált formális paramétereknek adnak konkrét értéket. A tömbök átadása hivatkozás szerinti, a többi paraméteré érték szerinti. Mivel a függvények eredetileg nem voltak az awk nyelv részei, a lokális változók eléggé suta módon adhatók meg: a paraméterlistában extra paraméterekként deklarálandók. A konvenció az, hogy a paraméterlistában a lokális változókat extra space-ekkel választják el a valódi paraméterektől. Például:
function f(p, q, a, b) \# a és b lokális
\{
\dots..
\}
/abc/ \{ \dots ; f(1, 2) ; \dots \}
A függvényhívás bal oldali zárójelének közvetlenül kell követnie a függvénynevet, whitespace nem lehet közöttük. Ez a konkatenációs operátorral való összekeverés elkerülése miatt van így. A megkötés nem vonatkozik a fent felsorolt beépített függvényekre. A függvények hívhatják egymást és lehetnek rekurzívak. A lokális változóként használt függvényparaméterek üres sztring és zéró számértékkel inicializálódnak a függvényhívás során. Ha a -lint opció meg van adva, a gawk fordítási és nem futási időben figyelmeztet a definiálatlan függvények hívása esetén. Futási időben egy definiálatlan függvénymeghívása fatális hiba. A func kulcsszó használható a function helyén.




1999-09-17