A Nasal programozási nyelv

Alprogramok, modulok

Szintaxis

Függvénydeklaráció nincs, (névtelen) függvényeket a func kulcsszóval adhatunk meg, melyeket értékül adhatunk (függvény)változóknak.

dummyFunc = func { #do something here. }

Paraméterátadás

A függvények a paramétereiket az arg nevű listán keresztül tudják elérni. Adhatunk meg nevesített paramétereket is, így megkönnyítve elérésüket. A nevesített paraméterek után megadottak az arg változóba kerülnek, amit viszont át is nevezhetünk úgy, hogy megadunk egy plusz paraméternevet és utána három pontot írunk. A nevesített paramétereknek alapértelmezett értéket is adhatunk, ám ezek csak skalár értékek lehetnek(szám, sztring, függvény, nullpointer), változtatható objektumok(pl. lista, asszociációs tömb) nem.

log_message = func { print(arg[0]); } sqrt = dummyFunc; dist = func(x1, y1, x2, y2) { dx = x2-x1; dy = y2-y1; return sqrt(dx*dx + dy*dy); } dist(0,0,1,1); # == sqrt(2) read = func(bytes, flags=0) { } listify = func(elements...) { return elements; } listify(1, 2, 3, 4); # visszatérési értéke egy lista: [1, 2, 3, 4]