„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)
{
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 (olvasástmegkönnyíti könnnyítiaz olvasást).
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<\/code> utasítás után adható meg. Amennyiben a <code>return<\/code> után nem áll paraméter, úgy a visszatérési érték határozatlan, mint a c-nyelv void-típusú függvényeiben.
A <code>return<\/code> számára lokális változó értéke is átadható, mert a lokális változó értékének törlése előtt az érték visszaadására szolgáló memóriaterületre. Előrehivatkozás megengedett,
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) {
temp = number + 3
return temp # temp ''értékének'' átmásolása a return területére
} # 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 ''<code>39''</code> íródik a kimenetre:
<source lang = "awk">
print add_three(36)
</source>
 
=== Konstansok ===
A lap eredeti címe: „https://hu.wikipedia.org/wiki/Awk