„Awk” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
213. sor:
Ha a saját függvény egy vagy több paramétert vesz át, akkor azokat a függvény neve utáni zárójelben kell megadni, vesszővel elválasztva, hasonlóan a [[C (programozási nyelv)|c-nyelvhez]]. A következő példa három paramétert vár (a, b, és c) továbbá egy lokális változója is van (az i):
<source lang = "awk">
function add(a,b,c,
{
i= 2;
221. sor:
</source>
Megállapodás szerint a lokális változót egy tabulátor választja el a függvény paramétereitől (
A lokális változók csak a függvény lezáró kapcsos zárójeléig „élnek” és automatikusan megszűnnek. Amennyiben egy változó neve a függvény paraméterei után nincs felsorolva, automatikusan globális változóvá válik:
<source lang = "awk">
235. sor:
A függvény törzsében minden awk-művelet megengedett, beleértve a szabályos kifejezést, értékadást, függvényhívást, mintakeresést és feldolgozást, stb.
A függvénytörzsben a [[rekurzió]] megengedett. Visszatérési érték a <code>return<
A <code>return<
mivel az interpreter először beolvassa az egész programot, és – hibamentes program esetén – csak a teljes program beolvasása után kezdi el végrehajtani. Egy saját függvény definíciója tehát bárhol előfordulhat az awk program szabályai szerint. Így nem fordulhat elő, hogy egy awk-függvény a hívás során még nem ismert: például ha a programban a hívás helye után van definiálva.
Egy egyszerű függvénydefiníció lehet például a következő:
<source lang = "awk">
function add_three (number,
temp = number + 3
return temp # temp
} # temp nevű lokális változó törlése
</source>
Egy definiált saját függvény a nevének megadásával hívható meg. Saját függvény megadható paraméterként is: A következő példában a print utasítás paramétereként kapja az <code>add_three</code> függvényt, amely pedig egy numerikus értéket kap paraméterként (esetünkben a 36-ot). Eredményeképpen
<source lang = "awk">
print add_three(36)
</source>
=== Konstansok ===
|